linux/virt/kvm
Marc Zyngier 1193e6aeec KVM: arm/arm64: vgic: Fix deadlock on error handling
Dmitry Vyukov reported that the syzkaller fuzzer triggered a
deadlock in the vgic setup code when an error was detected, as
the cleanup code tries to take a lock that is already held by
the setup code.

The fix is to avoid retaking the lock when cleaning up, by
telling the cleanup function that we already hold it.

Cc: stable@vger.kernel.org
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2017-01-13 11:19:35 +00:00
..
arm KVM: arm/arm64: vgic: Fix deadlock on error handling 2017-01-13 11:19:35 +00:00
async_pf.c mm: unexport __get_user_pages_unlocked() 2016-12-14 16:04:09 -08:00
async_pf.h
coalesced_mmio.c
coalesced_mmio.h KVM: make the declaration of functions within 80 characters 2015-09-14 18:43:19 +02:00
eventfd.c KVM: fix OOPS on flush_work 2016-10-26 14:06:51 +02:00
irqchip.c KVM/ARM Changes for v4.8 - Take 2 2016-08-04 13:59:56 +02:00
Kconfig KVM: remove kvm_vcpu_compatible 2016-06-16 00:05:00 +02:00
kvm_main.c Merge branch 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-25 14:05:56 -08:00
vfio.c kvm: set/clear kvm to/from vfio_group when group add/delete 2016-12-01 10:42:17 -07:00
vfio.h