]> git.ipfire.org Git - thirdparty/linux.git/commit
KVM: arm64: Fix Trace Buffer trap polarity for protected VMs
authorFuad Tabba <tabba@google.com>
Thu, 11 Dec 2025 10:47:02 +0000 (10:47 +0000)
committerMarc Zyngier <maz@kernel.org>
Thu, 15 Jan 2026 15:42:18 +0000 (15:42 +0000)
commite913c7ce9e6f62038a486218f43f699fc443e3e1
treeec8427791c6fdf1873f897c10513371e11c558bf
parent288eb55483c05bc37379a781d0d18b8e6c280f92
KVM: arm64: Fix Trace Buffer trap polarity for protected VMs

The E2TB bits in MDCR_EL2 control trapping of Trace Buffer system
register accesses. These accesses are trapped to EL2 when the bits are
clear.

The trap initialization logic for protected VMs in pvm_init_traps_mdcr()
had the polarity inverted. When a guest did not support the Trace Buffer
feature, the code was setting E2TB. This incorrectly disabled the trap,
potentially allowing a protected guest to access registers for a feature
it was not given.

Fix this by inverting the operation.

Fixes: f50758260bff ("KVM: arm64: Group setting traps for protected VMs by control register")
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Fuad Tabba <tabba@google.com>
Link: https://patch.msgid.link/20251211104710.151771-3-tabba@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/hyp/nvhe/pkvm.c