search for: xenbus_write_watch

Displaying 2 results from an estimated 2 matches for "xenbus_write_watch".

2013 May 15
6
xenfs: race condition on xenstore watch
...er sends "OK", which confuses the xenstore-watch client. It seems to me that the client is within its rights to expect the "OK" first. Here''s what is happening: The userspace process xenstore-watch writes to /proc/xen/xenbus with msg_type==XS_WATCH. This is handled by xenbus_write_watch which calls register_xenbus_watch with watch_fired as a callback *before* acquiring the reply_mutex and sending the synthesised "OK" reply. This gives a fast xenstore the opportunity to cause the watch_fired to run (and briefly grab the reply_mutex for itself) before the fake "OK&qu...
2012 Jan 24
0
[PATCH] xenbus_dev: add missing error check to watch handling
...off-by: Jan Beulich <jbeulich@suse.com> --- drivers/xen/xenbus/xenbus_dev_frontend.c | 4 ++++ 1 file changed, 4 insertions(+) --- 3.3-rc1/drivers/xen/xenbus/xenbus_dev_frontend.c +++ 3.3-rc1-xenbus-dev-write-watch/drivers/xen/xenbus/xenbus_dev_frontend.c @@ -369,6 +369,10 @@ static int xenbus_write_watch(unsigned m goto out; } token++; + if (memchr(token, 0, u->u.msg.len - (token - path)) == NULL) { + rc = -EILSEQ; + goto out; + } if (msg_type == XS_WATCH) { watch = alloc_watch_adapter(path, token);