summaryrefslogtreecommitdiffstats
path: root/include/xen
diff options
context:
space:
mode:
authorSeongJae Park <sjpark@amazon.de>2020-12-14 10:07:13 +0100
committerJuergen Gross <jgross@suse.com>2020-12-14 10:07:13 +0100
commit3dc86ca6b4c8cfcba9da7996189d1b5a358a94fc (patch)
treef862850ffd2c042167390114c8b8e6354febce04 /include/xen
parentxen/xenbus/xen_bus_type: Support will_handle watch callback (diff)
downloadlinux-3dc86ca6b4c8cfcba9da7996189d1b5a358a94fc.tar.xz
linux-3dc86ca6b4c8cfcba9da7996189d1b5a358a94fc.zip
xen/xenbus: Count pending messages for each watch
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>
Diffstat (limited to 'include/xen')
-rw-r--r--include/xen/xenbus.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h
index c8574d1b814c..00c7235ae93e 100644
--- a/include/xen/xenbus.h
+++ b/include/xen/xenbus.h
@@ -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.