kernel-fxtec-pro1x/drivers/xen
Juergen Gross c1f90a9cd9 xen/events: block rogue events for some time
commit 5f7f77400ab5b357b5fdb7122c3442239672186c upstream.

In order to avoid high dom0 load due to rogue guests sending events at
high frequency, block those events in case there was no action needed
in dom0 to handle the events.

This is done by adding a per-event counter, which set to zero in case
an EOI without the XEN_EOI_FLAG_SPURIOUS is received from a backend
driver, and incremented when this flag has been set. In case the
counter is 2 or higher delay the EOI by 1 << (cnt - 2) jiffies, but
not more than 1 second.

In order not to waste memory shorten the per-event refcnt to two bytes
(it should normally never exceed a value of 2). Add an overflow check
to evtchn_get() to make sure the 2 bytes really won't overflow.

This is part of XSA-332.

Cc: stable@vger.kernel.org
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Wei Liu <wl@xen.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-05 11:08:37 +01:00
..
events xen/events: block rogue events for some time 2020-11-05 11:08:37 +01:00
xen-pciback xen/pciback: use lateeoi irq binding 2020-11-05 11:08:37 +01:00
xenbus xen/xenbus: Fix granting of vmalloc'd memory 2020-09-09 19:04:24 +02:00
xenfs
acpi.c
arm-device.c
balloon.c xen/balloon: make the balloon wait interruptible 2020-08-19 08:15:07 +02:00
biomerge.c
cpu_hotplug.c xen, cpu_hotplug: Prevent an out of bounds access 2020-01-27 14:50:31 +01:00
dbgp.c
efi.c
evtchn.c xen/events: switch user event channels to lateeoi model 2020-11-05 11:08:37 +01:00
fallback.c
features.c
gntalloc.c
gntdev-common.h
gntdev-dmabuf.c xen/gntdev: Fix dmabuf import with non-zero sgt offset 2020-08-19 08:15:07 +02:00
gntdev-dmabuf.h
gntdev.c
grant-table.c
Kconfig xen/gntdev: Use select for DMA_SHARED_BUFFER 2019-12-31 16:35:50 +01:00
Makefile
manage.c
mcelog.c
mem-reservation.c
pci.c xen/pci: reserve MCFG areas earlier 2019-10-11 18:21:13 +02:00
pcpu.c
platform-pci.c
preempt.c xen: don't reschedule in preemption off sections 2020-08-26 10:31:06 +02:00
privcmd-buf.c
privcmd.c
privcmd.h
pvcalls-back.c xen/pvcallsback: use lateeoi irq binding 2020-11-05 11:08:37 +01:00
pvcalls-front.c pvcalls-front: don't return error when the ring is full 2019-12-17 20:35:32 +01:00
pvcalls-front.h
swiotlb-xen.c xen/swiotlb: fix condition for calling xen_destroy_contiguous_region() 2019-08-06 19:06:55 +02:00
sys-hypervisor.c
time.c
tmem.c
xen-acpi-cpuhotplug.c
xen-acpi-memhotplug.c
xen-acpi-pad.c
xen-acpi-processor.c
xen-balloon.c xen/balloon: Support xend-based toolstack take two 2020-02-11 04:34:08 -08:00
xen-scsiback.c xen/scsiback: use lateeoi irq binding 2020-11-05 11:08:36 +01:00
xen-selfballoon.c
xen-stub.c
xlate_mmu.c