diff options
| author | Fuad Tabba <tabba@google.com> | 2026-03-04 16:22:21 +0000 |
|---|---|---|
| committer | Marc Zyngier <maz@kernel.org> | 2026-03-05 16:23:30 +0000 |
| commit | e07fc9e2da91f6d9eeafa2961be9dc09d65ed633 (patch) | |
| tree | 9bd575b31dbb9ef16e1be4e47d4609866ba37249 /include | |
| parent | eb54fa1025f8b520f0e83a807d76e35e4587c5ff (diff) | |
KVM: arm64: Fix page leak in user_mem_abort() on atomic fault
When a guest performs an atomic/exclusive operation on memory lacking
the required attributes, user_mem_abort() injects a data abort and
returns early. However, it fails to release the reference to the
host page acquired via __kvm_faultin_pfn().
A malicious guest could repeatedly trigger this fault, leaking host
page references and eventually causing host memory exhaustion (OOM).
Fix this by consolidating the early error returns to a new out_put_page
label that correctly calls kvm_release_page_unused().
Fixes: 2937aeec9dc5 ("KVM: arm64: Handle DABT caused by LS64* instructions on unsupported memory")
Signed-off-by: Fuad Tabba <tabba@google.com>
Reviewed-by: Yuan Yao <yaoyuan@linux.alibaba.com>
Link: https://patch.msgid.link/20260304162222.836152-2-tabba@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
