]> www.infradead.org Git - users/jedix/linux-maple.git/commit
KVM: arm64: Fix uninitialized memcache pointer in user_mem_abort()
authorSebastian Ott <sebott@redhat.com>
Mon, 5 May 2025 17:31:48 +0000 (19:31 +0200)
committerOliver Upton <oliver.upton@linux.dev>
Mon, 5 May 2025 19:12:27 +0000 (12:12 -0700)
commit157dbc4a321f5bb6f8b6c724d12ba720a90f1a7c
treeeec83e760417c9711a719ac8fa42a7e3924746be
parentb4432656b36e5cc1d50a1f2dc15357543add530e
KVM: arm64: Fix uninitialized memcache pointer in user_mem_abort()

Commit fce886a60207 ("KVM: arm64: Plumb the pKVM MMU in KVM") made the
initialization of the local memcache variable in user_mem_abort()
conditional, leaving a codepath where it is used uninitialized via
kvm_pgtable_stage2_map().

This can fail on any path that requires a stage-2 allocation
without transition via a permission fault or dirty logging.

Fix this by making sure that memcache is always valid.

Fixes: fce886a60207 ("KVM: arm64: Plumb the pKVM MMU in KVM")
Signed-off-by: Sebastian Ott <sebott@redhat.com>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/kvmarm/3f5db4c7-ccce-fb95-595c-692fa7aad227@redhat.com/
Link: https://lore.kernel.org/r/20250505173148.33900-1-sebott@redhat.com
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/kvm/mmu.c