+10
−2
+65
−29
+4
−3
Loading
In case the STE's config is "Bypass" we currently don't set the IOMMUTLBEntry perm flags and the access does not succeed. Also if the config is 0b0xx (Aborted/Reserved), decode_ste and smmuv3_decode_config currently returns -EINVAL and we don't enter the expected code path: we record an event whereas we should not. This patch fixes those bugs and simplifies the error handling. decode_ste and smmuv3_decode_config now return 0 if aborted or bypassed config was found. Only bad config info produces negative error values. In smmuv3_translate we more clearly differentiate errors, bypass/smmu disabled, aborted and success cases. Also trace points are differentiated. Fixes: 9bde7f06 ("hw/arm/smmuv3: Implement translate callback") Reported-by:<jia.he@hxt-semitech.com> Signed-off-by:
<jia.he@hxt-semitech.com> Signed-off-by:
Eric Auger <eric.auger@redhat.com> Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1529653501-15358-2-git-send-email-eric.auger@redhat.com Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>