mbox series

[v4,0/2] Fix handling of S2 stalls

Message ID 20240830110349.797399-1-smostafa@google.com (mailing list archive)
Headers show
Series Fix handling of S2 stalls | expand

Message

Mostafa Saleh Aug. 30, 2024, 11:03 a.m. UTC
While debugging something else, I spent hours looking at hexdumps of
STEs, CDs and commands while comparing them against the arch specs,
where I noticed a minor violation in the driver regarding handling of
S2S bit in the STE.

This has been there for ages, so it’s highly unlikely that any HW (if
it exists with such features) running Linux is affected.

I don’t have access to HW with stalls so I just tested normal usage
and (terminated) translation fault events.

Also, add some unit tests for stall enabled masters.

Mostafa Saleh (2):
  iommu/arm-smmu-v3: Match Stall behaviour for S2
  iommu/arm-smmu-v3-test: Test masters with stall enabled

 .../iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c  | 83 ++++++++++++++-----
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c   |  8 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h   |  1 +
 3 files changed, 66 insertions(+), 26 deletions(-)

v4:
- Add S2S bit to get_used for stage-2
- Add unit tests for masters with stall enabled

v3:
- Set S2S for s2 and not s1 domain
- Ignore ats check

v2:
- Fix index of the STE
- Fix conflict with ATS
- Squash the 2 patches and drop enable_nesting

Comments

Will Deacon Aug. 30, 2024, 4:12 p.m. UTC | #1
On Fri, 30 Aug 2024 11:03:46 +0000, Mostafa Saleh wrote:
> While debugging something else, I spent hours looking at hexdumps of
> STEs, CDs and commands while comparing them against the arch specs,
> where I noticed a minor violation in the driver regarding handling of
> S2S bit in the STE.
> 
> This has been there for ages, so it’s highly unlikely that any HW (if
> it exists with such features) running Linux is affected.
> 
> [...]

Applied to will (for-joerg/arm-smmu/updates), thanks!

[1/2] iommu/arm-smmu-v3: Match Stall behaviour for S2
      https://git.kernel.org/will/c/ce7cb08e22e0
[2/2] iommu/arm-smmu-v3-test: Test masters with stall enabled
      https://git.kernel.org/will/c/070e326f327a

Cheers,