xen/events: fix binding user event channels to cpus
authorJuergen Gross <jgross@suse.com>
Fri, 21 Jun 2019 18:47:03 +0000 (20:47 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Jul 2019 07:13:02 +0000 (09:13 +0200)
commitccfc9d9da62232348c3d04b7b222cddb01784522
tree590a3a7137fbf4d4e02bba4cfab5f9fc2e5ab23b
parent842ee766ffebdf9858775579c85a36145f91c6bf
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>
drivers/xen/events/events_base.c
drivers/xen/evtchn.c
include/xen/events.h