OpenCloudOS-Kernel/drivers/xen
Viresh Kumar c2775ae4d9 xen: privcmd: Switch from mutex to spinlock for irqfds
[ Upstream commit 1c682593096a487fd9aebc079a307ff7a6d054a3 ]

irqfd_wakeup() gets EPOLLHUP, when it is called by
eventfd_release() by way of wake_up_poll(&ctx->wqh, EPOLLHUP), which
gets called under spin_lock_irqsave(). We can't use a mutex here as it
will lead to a deadlock.

Fix it by switching over to a spin lock.

Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/a66d7a7a9001424d432f52a9fc3931a1f345464f.1718703669.git.viresh.kumar@linaro.org
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-14 13:58:42 +02:00
..
events xen/events: increment refcnt only if event channel is refcounted 2024-03-26 18:20:09 -04:00
xen-pciback xen-pciback: Consider INTx disabled when MSI/MSI-X is enabled 2023-11-20 11:59:12 +01:00
xenbus drivers/xen: Improve the late XenStore init protocol 2024-06-12 11:12:51 +02:00
xenfs
Kconfig
Makefile
acpi.c
arm-device.c
balloon.c x86/xen: attempt to inflate the memory balloon on PVH 2024-04-13 13:07:39 +02:00
biomerge.c
cpu_hotplug.c
dbgp.c
efi.c
evtchn.c xen/evtchn: avoid WARN() when unbinding an event channel 2024-03-26 18:20:09 -04:00
features.c
gntalloc.c
gntdev-common.h
gntdev-dmabuf.c xen/gntdev: Fix the abuse of underlying struct page in DMA-buf import 2024-02-05 20:14:31 +00:00
gntdev-dmabuf.h
gntdev.c
grant-dma-iommu.c
grant-dma-ops.c
grant-table.c
manage.c
mcelog.c
mem-reservation.c
pci.c
pcpu.c acpi/processor: sanitize _OSC/_PDC capabilities for Xen dom0 2023-11-28 17:19:57 +00:00
platform-pci.c
privcmd-buf.c
privcmd.c xen: privcmd: Switch from mutex to spinlock for irqfds 2024-08-14 13:58:42 +02:00
privcmd.h
pvcalls-back.c
pvcalls-front.c
pvcalls-front.h
swiotlb-xen.c swiotlb-xen: provide the "max_mapping_size" method 2023-12-03 07:33:07 +01:00
sys-hypervisor.c
time.c
unpopulated-alloc.c
xen-acpi-pad.c
xen-acpi-processor.c
xen-balloon.c
xen-front-pgdir-shbuf.c
xen-scsiback.c
xlate_mmu.c