Marc Zyngier 01ad29d224 KVM: arm64: vgic: Simplify kvm_vgic_destroy()
When destroying a vgic, we have rather cumbersome rules about
when slots_lock and config_lock are held, resulting in fun
buglets.

The first port of call is to simplify kvm_vgic_map_resources()
so that there is only one call to kvm_vgic_destroy() instead of
two, with the second only holding half of the locks.

For that, we kill the non-locking primitive and move the call
outside of the locking altogether. This doesn't change anything
(we re-acquire the locks and teardown the whole vgic), and
simplifies the code significantly.

Cc: stable@vger.kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20231207151201.3028710-2-maz@kernel.org
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2023-12-12 07:11:38 +00:00
..
2023-11-03 15:44:25 -10:00
2023-11-04 08:07:19 -10:00
2023-11-03 15:44:25 -10:00
2023-11-01 15:28:33 -10:00
2023-11-10 16:35:04 -08:00
2023-09-05 10:09:31 -07:00
2023-11-22 13:55:13 +01:00
2023-12-03 08:31:53 +09:00
2023-11-03 15:44:25 -10:00