diff --git a/patches.suse/xen-events-fix-setting-irq-affinity.patch b/patches.suse/xen-events-fix-setting-irq-affinity.patch new file mode 100644 index 0000000..5b1cf38 --- /dev/null +++ b/patches.suse/xen-events-fix-setting-irq-affinity.patch @@ -0,0 +1,49 @@ +Patch-mainline: Submitted, 2021/04/21 - stable@vger.kernel.org +From: Juergen Gross +Date: Mon, 12 Apr 2021 07:50:03 +0200 +References: bsc#1184583 XSA-332 CVE-2020-27673 +Subject: [PATCH] xen/events: fix setting irq affinity + +The backport of upstream patch 25da4618af240fbec61 ("xen/events: don't +unmask an event channel when an eoi is pending") introduced a +regression for stable kernels 5.10 and older: setting IRQ affinity for +IRQs related to interdomain events would no longer work, as moving the +IRQ to its new cpu was not included in the irq_ack callback for those +events. + +Fix that by adding the needed call. + +Note that kernels 5.11 and later don't need the explicit moving of the +IRQ to the target cpu in the irq_ack callback, due to a rework of the +affinity setting in kernel 5.11. + +Signed-off-by: Juergen Gross +--- + drivers/xen/events/events_base.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c +index 7bd03f6e0422..ee5269331406 100644 +--- a/drivers/xen/events/events_base.c ++++ b/drivers/xen/events/events_base.c +@@ -1809,7 +1809,7 @@ static void lateeoi_ack_dynirq(struct irq_data *data) + + if (VALID_EVTCHN(evtchn)) { + do_mask(info, EVT_MASK_REASON_EOI_PENDING); +- event_handler_exit(info); ++ ack_dynirq(data); + } + } + +@@ -1820,7 +1820,7 @@ static void lateeoi_mask_ack_dynirq(struct irq_data *data) + + if (VALID_EVTCHN(evtchn)) { + do_mask(info, EVT_MASK_REASON_EXPLICIT); +- event_handler_exit(info); ++ ack_dynirq(data); + } + } + +-- +2.26.2 + diff --git a/series.conf b/series.conf index f8c3682..3a463b6 100644 --- a/series.conf +++ b/series.conf @@ -59160,6 +59160,8 @@ patches.suse/xen-disable_hotplug_cpu.patch patches.suse/0001-xen-don-t-reschedule-in-preemption-off-sections.patch + patches.suse/xen-events-fix-setting-irq-affinity.patch + # XSA-349 cleanup patches patches.suse/0001-xen-revert-Disallow-pending-watch-messages.patch patches.suse/0002-xen-revert-Count-pending-messages-for-each-watch.patch