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
eventfd.c KVM: fix OOPS on flush_work 2016-10-26 14:06:51 +02:00
irqchip.c
Kconfig
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