aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/lima/lima_sched.c
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2024-05-24 15:19:56 +0100
committerMarc Zyngier <maz@kernel.org>2024-05-27 17:46:09 +0100
commitc92e8b9eacebb4060634ebd9395bba1b29aadc68 (patch)
tree0cba2bd93e6717a65dbe58372917c5962738b9f9 /drivers/gpu/drm/lima/lima_sched.c
parentdfe6d190f38fc5df5ff2614b463a5195a399c885 (diff)
KVM: arm64: AArch32: Fix spurious trapping of conditional instructions
We recently upgraded the view of ESR_EL2 to 64bit, in keeping with the requirements of the architecture. However, the AArch32 emulation code was left unaudited, and the (already dodgy) code that triages whether a trap is spurious or not (because the condition code failed) broke in a subtle way: If ESR_EL2.ISS2 is ever non-zero (unlikely, but hey, this is the ARM architecture we're talking about), the hack that tests the top bits of ESR_EL2.EC will break in an interesting way. Instead, use kvm_vcpu_trap_get_class() to obtain the EC, and list all the possible ECs that can fail a condition code check. While we're at it, add SMC32 to the list, as it is explicitly listed as being allowed to trap despite failing a condition code check (as described in the HCR_EL2.TSC documentation). Fixes: 0b12620fddb8 ("KVM: arm64: Treat ESR_EL2 as a 64-bit register") Cc: stable@vger.kernel.org Acked-by: Oliver Upton <oliver.upton@linux.dev> Link: https://lore.kernel.org/r/20240524141956.1450304-4-maz@kernel.org Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/lima/lima_sched.c')
0 files changed, 0 insertions, 0 deletions