OSDN Git Service

KVM: arm64: Fix hypercall bitmap writeback when vcpus have already run
authorMarc Zyngier <maz@kernel.org>
Mon, 16 May 2022 16:32:54 +0000 (17:32 +0100)
committerMarc Zyngier <maz@kernel.org>
Mon, 16 May 2022 16:40:48 +0000 (17:40 +0100)
commit528ada2811ba0bb2b2db5bf0f829b48c50f3c13c
treec45ebf28cffb4c8fc3ec045a08f0b919e9d2fb2a
parent2cde51f1e10f260076899bf41add74ed4a6de034
KVM: arm64: Fix hypercall bitmap writeback when vcpus have already run

We generally want to disallow hypercall bitmaps being changed
once vcpus have already run. But we must allow the write if
the written value is unchanged so that userspace can rewrite
the register file on reboot, for example.

Without this, a QEMU-based VM will fail to reboot correctly.

The original code was correct, and it is me that introduced
the regression.

Fixes: 05714cab7d63 ("KVM: arm64: Setup a framework for hypercall bitmap firmware registers")
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/hypercalls.c