mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
ANDROID: KVM: arm64: iommu: No powered check in DABT handler
The IOMMU DABT handler currently checks if the device is considered
powered by hyp before resolving the request. If the power tracking does
not reflect reality, the IOMMU may trigger issues in the host but the
incorrect state prevents it from diagnosing the issue.
Drop the powered check from the generic IOMMU code. The host accessing
the device's SFR means that it assumes it is powered, and individual
drivers can choose to reject that DABT request.
Bug: 224891559
Bug: 190463801
Change-Id: I3418a29c7deb7e3e866f89d933b9dad0aaa06365
Signed-off-by: David Brazdil <dbrazdil@google.com>
(cherry picked from commit 798c4ea545)
Signed-off-by: Mostafa Saleh <smostafa@google.com>
Signed-off-by: Quentin Perret <qperret@google.com>
This commit is contained in:
committed by
Quentin Perret
parent
5c2780d09c
commit
1e45bfa3e6
@@ -466,7 +466,8 @@ bool pkvm_iommu_host_dabt_handler(struct kvm_cpu_context *host_ctxt, u32 esr,
|
||||
if (pa < dev->pa || pa >= dev->pa + dev->size)
|
||||
continue;
|
||||
|
||||
if (!dev->powered || !dev->ops->host_dabt_handler ||
|
||||
/* No 'powered' check - the host assumes it is powered. */
|
||||
if (!dev->ops->host_dabt_handler ||
|
||||
!dev->ops->host_dabt_handler(dev, host_ctxt, esr, pa - dev->pa))
|
||||
return false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user