android_kernel_motorola_sm6375/virt/kvm
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Christoffer Dall 2cccbb368a KVM: arm64: vgic-its: Plug race in vgic_put_irq
Right now the following sequence of events can happen:

  1. Thread X calls vgic_put_irq
  2. Thread Y calls vgic_add_lpi
  3. Thread Y gets lpi_list_lock
  4. Thread X drops the ref count to 0 and blocks on lpi_list_lock
  5. Thread Y finds the irq via the lpi_list_lock, raises the ref
     count to 1, and release the lpi_list_lock.
  6. Thread X proceeds and frees the irq.

Avoid this by holding the spinlock around the kref_put.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2016-08-10 11:41:54 +02:00
..
arm KVM: arm64: vgic-its: Plug race in vgic_put_irq 2016-08-10 11:41:54 +02:00
async_pf.c
async_pf.h
coalesced_mmio.c
coalesced_mmio.h
eventfd.c kvm: Conditionally register IRQ bypass consumer 2016-05-11 22:37:55 +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 - ARM: GICv3 ITS emulation and various fixes. Removal of the old 2016-08-02 16:11:27 -04:00
vfio.c
vfio.h