aboutsummaryrefslogtreecommitdiffstats
path: root/rust/helpers/workqueue.c
diff options
context:
space:
mode:
authorMarc Zyngier <[email protected]>2025-04-22 12:26:10 +0000
committerMarc Zyngier <[email protected]>2025-05-14 09:43:50 +0000
commit493b01de726d02e835c510d01df6880fa28d41b7 (patch)
tree95552a704e946b57bf45deacaaaf1c7a16c1ad13 /rust/helpers/workqueue.c
parentLinux 6.15-rc3 (diff)
downloadkernel-493b01de726d02e835c510d01df6880fa28d41b7.tar.gz
kernel-493b01de726d02e835c510d01df6880fa28d41b7.zip
KVM: arm64: Fix PAR_EL1.{PTW,S} reporting on AT S1E*
When an AT S1E* operation fails, we need to report whether the translation failed at S2, and whether this was during a S1 PTW. But these two bits are not independent. PAR_EL1.PTW can only be set of PAR_EL1.S is also set, and PAR_EL1.S can only be set on its own when the full S1 PTW has succeeded, but that the access itself is reporting a fault at S2. As a result, it makes no sense to carry both ptw and s2 as parameters to fail_s1_walk(), and they should be unified. This fixes a number of cases where we were reporting PTW=1 *and* S=0, which makes no sense. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
Diffstat (limited to 'rust/helpers/workqueue.c')
0 files changed, 0 insertions, 0 deletions