diff options
author | Oliver Upton <oliver.upton@linux.dev> | 2024-10-07 23:30:26 +0000 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2024-10-08 10:40:27 +0100 |
commit | 3c164eb9464d39ba339c1487dcac0dc9508e03f0 (patch) | |
tree | 9d2898b907c88e59b8c17a32d3f903c2c6f6cb89 /rust/helpers/helpers.c | |
parent | 6ded46b5a4fd7fc9c6104b770627043aaf996abf (diff) |
KVM: arm64: nv: Do not block when unmapping stage-2 if disallowed
Right now the nested code allows unmap operations on a shadow stage-2 to
block unconditionally. This is wrong in a couple places, such as a
non-blocking MMU notifier or on the back of a sched_in() notifier as
part of shadow MMU recycling.
Carry through whether or not blocking is allowed to
kvm_pgtable_stage2_unmap(). This 'fixes' an issue where stage-2 MMU
reclaim would precipitate a stack overflow from a pile of kvm_sched_in()
callbacks, all trying to recycle a stage-2 MMU.
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20241007233028.2236133-3-oliver.upton@linux.dev
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions