summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2019-06-21 20:47:03 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-31 07:28:39 +0200
commit93774aa0954cf393a09217b01f0a371b1f9eedf5 (patch)
tree8d9b014368f44f7befaba381ef31e78de6a1a3e6 /include
parent59790d91260492d8ac534bb5168e2859574fe290 (diff)
downloadlinux-stable-93774aa0954cf393a09217b01f0a371b1f9eedf5.tar.gz
linux-stable-93774aa0954cf393a09217b01f0a371b1f9eedf5.tar.bz2
linux-stable-93774aa0954cf393a09217b01f0a371b1f9eedf5.zip
xen/events: fix binding user event channels to cpus
commit bce5963bcb4f9934faa52be323994511d59fd13c upstream. When binding an interdomain event channel to a vcpu via IOCTL_EVTCHN_BIND_INTERDOMAIN not only the event channel needs to be bound, but the affinity of the associated IRQi must be changed, too. Otherwise the IRQ and the event channel won't be moved to another vcpu in case the original vcpu they were bound to is going offline. Cc: <stable@vger.kernel.org> # 4.13 Fixes: c48f64ab472389df ("xen-evtchn: Bind dyn evtchn:qemu-dm interrupt to next online VCPU") Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/xen/events.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/xen/events.h b/include/xen/events.h
index c3e6bc643a7b..1650d39decae 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -3,6 +3,7 @@
#define _XEN_EVENTS_H
#include <linux/interrupt.h>
+#include <linux/irq.h>
#ifdef CONFIG_PCI_MSI
#include <linux/msi.h>
#endif
@@ -59,7 +60,7 @@ void evtchn_put(unsigned int evtchn);
void xen_send_IPI_one(unsigned int cpu, enum ipi_vector vector);
void rebind_evtchn_irq(int evtchn, int irq);
-int xen_rebind_evtchn_to_cpu(int evtchn, unsigned tcpu);
+int xen_set_affinity_evtchn(struct irq_desc *desc, unsigned int tcpu);
static inline void notify_remote_via_evtchn(int port)
{