summaryrefslogtreecommitdiff
path: root/arch/arm/mach-davinci
diff options
context:
space:
mode:
authorDavid Vrabel <david.vrabel@citrix.com>2013-08-15 13:21:07 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-08-29 09:47:35 -0700
commit131cb95fdf390f414163605c997b48cad591a273 (patch)
tree188f7716da59bfb12ec84e0f92dac48b5832ee2e /arch/arm/mach-davinci
parentd8251a942ff0318fd8fde8e69fac5480b60e26b3 (diff)
xen/events: mask events when changing their VCPU binding
commit 4704fe4f03a5ab27e3c36184af85d5000e0f8a48 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/arm/mach-davinci')
0 files changed, 0 insertions, 0 deletions