]> git.baikalelectronics.ru Git - kernel.git/commit
xen/events: don't unmask an event channel when an eoi is pending
authorJuergen Gross <jgross@suse.com>
Sat, 6 Mar 2021 16:18:32 +0000 (17:18 +0100)
committerBoris Ostrovsky <boris.ostrovsky@oracle.com>
Wed, 10 Mar 2021 22:37:29 +0000 (16:37 -0600)
commit5464d7902a672e954d7629d7509873116d26a911
tree7bd0d28344accddb22c9eb0cebf16d8f70515a1c
parent85cd54c57751de8577197f5b20c5c528847e7711
xen/events: don't unmask an event channel when an eoi is pending

An event channel should be kept masked when an eoi is pending for it.
When being migrated to another cpu it might be unmasked, though.

In order to avoid this keep three different flags for each event channel
to be able to distinguish "normal" masking/unmasking from eoi related
masking/unmasking and temporary masking. The event channel should only
be able to generate an interrupt if all flags are cleared.

Cc: stable@vger.kernel.org
Fixes: b6494672bc3b ("xen/events: add a new "late EOI" evtchn framework")
Reported-by: Julien Grall <julien@xen.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Tested-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Link: https://lore.kernel.org/r/20210306161833.4552-3-jgross@suse.com
[boris -- corrected Fixed tag format]

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
drivers/xen/events/events_2l.c
drivers/xen/events/events_base.c
drivers/xen/events/events_fifo.c
drivers/xen/events/events_internal.h