]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
xen/events: add a proper barrier to 2-level uevent unmasking
authorJuergen Gross <jgross@suse.com>
Tue, 3 Nov 2020 14:29:00 +0000 (15:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Nov 2020 17:28:01 +0000 (18:28 +0100)
commit025ea15db5665fa14d1c48e39aa788acaf30471b
tree6db59a078d0fa7a699a9ed23afedf8822498e678
parentb559da71974b5eb93311f7f475b2e4b16c0f9bb3
xen/events: add a proper barrier to 2-level uevent unmasking

commit 4d3fe31bd993ef504350989786858aefdb877daa upstream.

A follow-up patch will require certain write to happen before an event
channel is unmasked.

While the memory barrier is not strictly necessary for all the callers,
the main one will need it. In order to avoid an extra memory barrier
when using fifo event channels, mandate evtchn_unmask() to provide
write ordering.

The 2-level event handling unmask operation is missing an appropriate
barrier, so add it. Fifo event channels are fine in this regard due to
using sync_cmpxchg().

This is part of XSA-332.

Cc: stable@vger.kernel.org
Suggested-by: Julien Grall <julien@xen.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Wei Liu <wl@xen.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/xen/events/events_2l.c