xen/xenbus: Count pending messages for each watch
commit 3dc86ca6b4c8cfcba9da7996189d1b5a358a94fc upstream. This commit adds a counter of pending messages for each watch in the struct. It is used to skip unnecessary pending messages lookup in 'unregister_xenbus_watch()'. It could also be used in 'will_handle' callback. This is part of XSA-349 Cc: stable@vger.kernel.org Signed-off-by: SeongJae Park <sjpark@amazon.de> Reported-by: Michael Kurth <mku@amazon.de> Reported-by: Pawel Wieczorkiewicz <wipawel@amazon.de> Reviewed-by: Juergen Gross <jgross@suse.com> Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
6835334e15
commit
1a72241aab
@@ -61,6 +61,8 @@ struct xenbus_watch
|
||||
/* Path being watched. */
|
||||
const char *node;
|
||||
|
||||
unsigned int nr_pending;
|
||||
|
||||
/*
|
||||
* Called just before enqueing new event while a spinlock is held.
|
||||
* The event will be discarded if this callback returns false.
|
||||
|
Reference in New Issue
Block a user