xenbus: fix deadlock on writes to /proc/xen/xenbus
authorDavid Vrabel <david.vrabel@citrix.com>
Fri, 9 Dec 2016 14:41:13 +0000 (14:41 +0000)
committerJuergen Gross <jgross@suse.com>
Mon, 12 Dec 2016 14:22:13 +0000 (15:22 +0100)
commit581d21a2d02a798ee34e56dbfa13f891b3a90c30
tree332071831cfcfdf54c1db18a874d0e687326d11a
parent3da96be58f2c8aaa86cfe78b16f837e610dfcfe2
xenbus: fix deadlock on writes to /proc/xen/xenbus

/proc/xen/xenbus does not work correctly.  A read blocked waiting for
a xenstore message holds the mutex needed for atomic file position
updates.  This blocks any writes on the same file handle, which can
deadlock if the write is needed to unblock the read.

Clear FMODE_ATOMIC_POS when opening this device to always get
character device like sematics.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
drivers/xen/xenbus/xenbus_dev_frontend.c