mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 21:14:56 -04:00
Merge tag 'for-linus-5.11-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull xen updates from Juergen Gross:
"Fixes for security issues just having been disclosed:
- a five patch series for fixing of XSA-349 (DoS via resource
depletion in Xen dom0)
- a patch fixing XSA-350 (access of stale pointer in a Xen dom0)"
* tag 'for-linus-5.11-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
xen-blkback: set ring->xenblkd to NULL after kthread_stop()
xenbus/xenbus_backend: Disallow pending watch messages
xen/xenbus: Count pending messages for each watch
xen/xenbus/xen_bus_type: Support will_handle watch callback
xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
xen/xenbus: Allow watches discard events before queueing
This commit is contained in:
@@ -61,6 +61,15 @@ 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.
|
||||
*/
|
||||
bool (*will_handle)(struct xenbus_watch *,
|
||||
const char *path, const char *token);
|
||||
|
||||
/* Callback (executed in a process context with no locks held). */
|
||||
void (*callback)(struct xenbus_watch *,
|
||||
const char *path, const char *token);
|
||||
@@ -197,10 +206,14 @@ void xenbus_probe(struct work_struct *);
|
||||
|
||||
int xenbus_watch_path(struct xenbus_device *dev, const char *path,
|
||||
struct xenbus_watch *watch,
|
||||
bool (*will_handle)(struct xenbus_watch *,
|
||||
const char *, const char *),
|
||||
void (*callback)(struct xenbus_watch *,
|
||||
const char *, const char *));
|
||||
__printf(4, 5)
|
||||
__printf(5, 6)
|
||||
int xenbus_watch_pathfmt(struct xenbus_device *dev, struct xenbus_watch *watch,
|
||||
bool (*will_handle)(struct xenbus_watch *,
|
||||
const char *, const char *),
|
||||
void (*callback)(struct xenbus_watch *,
|
||||
const char *, const char *),
|
||||
const char *pathfmt, ...);
|
||||
|
||||
Reference in New Issue
Block a user