]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
KVM: arm64: Reclaim faulting page from pKVM in spurious fault handler
authorWill Deacon <will@kernel.org>
Mon, 30 Mar 2026 14:48:27 +0000 (15:48 +0100)
committerMarc Zyngier <maz@kernel.org>
Mon, 30 Mar 2026 15:58:09 +0000 (16:58 +0100)
commit281a38ad2920b5ccfbbc2a0ca0caeee110ad5d6b
tree96b02a5a4eb162fb52156c1490b7b1f656783dd3
parent56080f53a6ad779b971eb7f4f7a232498805d867
KVM: arm64: Reclaim faulting page from pKVM in spurious fault handler

Host kernel accesses to pages that are inaccessible at stage-2 result in
the injection of a translation fault, which is fatal unless an exception
table fixup is registered for the faulting PC (e.g. for user access
routines). This is undesirable, since a get_user_pages() call could be
used to obtain a reference to a donated page and then a subsequent
access via a kernel mapping would lead to a panic().

Rework the spurious fault handler so that stage-2 faults injected back
into the host result in the target page being forcefully reclaimed when
no exception table fixup handler is registered.

Tested-by: Fuad Tabba <tabba@google.com>
Tested-by: Mostafa Saleh <smostafa@google.com>
Signed-off-by: Will Deacon <will@kernel.org>
Link: https://patch.msgid.link/20260330144841.26181-27-will@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/include/asm/virt.h
arch/arm64/kvm/pkvm.c
arch/arm64/mm/fault.c