summary refs log tree commit diff
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
parentbe987200fbaceaef340872841d4f7af2c5ee8dc3 (diff)
downloadlinux-3dc86ca6b4c8cfcba9da7996189d1b5a358a94fc.tar.gz
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.