android_kernel_google_msm/drivers/xen
David Vrabel b7d2a5e8cf xen/events: mask events when changing their VCPU binding
commit 5e72fdb8d827560893642e85a251d339109a00f4 upstream.

commit 4704fe4f03 upstream.

When a event is being bound to a VCPU there is a window between the
EVTCHNOP_bind_vpcu call and the adjustment of the local per-cpu masks
where an event may be lost.  The hypervisor upcalls the new VCPU but
the kernel thinks that event is still bound to the old VCPU and
ignores it.

There is even a problem when the event is being bound to the same VCPU
as there is a small window beween the clear_bit() and set_bit() calls
in bind_evtchn_to_cpu().  When scanning for pending events, the kernel
may read the bit when it is momentarily clear and ignore the event.

Avoid this by masking the event during the whole bind operation.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
[bwh: Backported to 3.2: remove the BM() cast]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-11 16:10:07 -07:00
..
xen-pciback xen-pciback: rate limit error messages from xen_pcibk_enable_msi{,x}() 2013-06-13 09:45:02 -07:00
xenbus
xenfs
balloon.c
biomerge.c
cpu_hotplug.c
events.c xen/events: mask events when changing their VCPU binding 2014-03-11 16:10:07 -07:00
evtchn.c xen/evtchn: avoid a deadlock when unbinding an event channel 2013-08-04 16:26:00 +08:00
features.c
gntalloc.c
gntdev.c
grant-table.c xen-gnt: prevent adding duplicate gnt callbacks 2013-09-26 17:15:30 -07:00
Kconfig
Makefile
manage.c
pci.c
platform-pci.c
privcmd.c
privcmd.h
swiotlb-xen.c
sys-hypervisor.c
tmem.c
xen-acpi-processor.c
xen-balloon.c
xen-selfballoon.c
xencomm.c