linux/drivers/xen/xenbus
David Vrabel 581d21a2d0 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>
2016-12-12 15:22:13 +01:00
..
Makefile xen: Add xenbus_backend device 2011-12-16 13:29:41 -05:00
xenbus_client.c xenbus: Support multiple grants ring with 64KB 2015-10-23 14:20:47 +01:00
xenbus_comms.c xenbus: use virt_xxx barriers 2016-01-12 20:47:03 +02:00
xenbus_comms.h xenbus: save xenstore local status for later use 2013-05-29 09:04:20 -04:00
xenbus_dev_backend.c drivers/xen: make xenbus_dev_[front/back]end explicitly non-modular 2016-03-21 15:13:55 +00:00
xenbus_dev_frontend.c xenbus: fix deadlock on writes to /proc/xen/xenbus 2016-12-12 15:22:13 +01:00
xenbus_probe_backend.c xen: make use of xenbus_read_unsigned() in xenbus 2016-11-07 13:55:36 +01:00
xenbus_probe_frontend.c xenbus: check return value of xenbus_scanf() 2016-10-24 16:08:21 +01:00
xenbus_probe.c xen: xenbus: set error code on failure 2016-12-08 07:53:57 +01:00
xenbus_probe.h xen: remove DEFINE_XENBUS_DRIVER() macro 2014-10-06 10:27:57 +01:00
xenbus_xs.c xen: make use of xenbus_read_unsigned() in xenbus 2016-11-07 13:55:36 +01:00