]> git.ipfire.org Git - thirdparty/linux.git/commit
KVM: arm64: Fix rollback in hyp_trace_buffer_share_hyp()
authorVincent Donnefort <vdonnefort@google.com>
Thu, 21 May 2026 12:46:12 +0000 (13:46 +0100)
committerMarc Zyngier <maz@kernel.org>
Wed, 27 May 2026 13:07:24 +0000 (14:07 +0100)
commita23780ea9db3f3cadbb52ff6151384bff89d95d2
treec8c713074cdd96939327303620dd43a769e2853a
parent0f7abb6eaa3c3965f925e231c18409dac4f5a0c1
KVM: arm64: Fix rollback in hyp_trace_buffer_share_hyp()

When sharing the trace buffer with the hypervisor, if sharing a page
fails, the rollback path in hyp_trace_buffer_share_hyp() misses
unsharing the metadata page (meta_va) which was successfully shared
before entering the page sharing loop.

Additionally, if a failure occurs, the cleanup calls
hyp_trace_buffer_unshare_hyp() with an incorrect CPU index.  Since that
CPU's pages were already rolled back locally in the loop, this leads to
duplicate unsharing attempts.

Fix both issues affecting the rollback.

Fixes: 3aed038aac8d ("KVM: arm64: Add trace remote for the nVHE/pKVM hyp")
Reported-by: Sashiko <sashiko-bot@kernel.org>
Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
Link: https://patch.msgid.link/20260521124613.911067-3-vdonnefort@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/hyp_trace.c