[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv6] xenbus: fix deadlock on writes to /proc/xen/xenbus
On 09/12/16 15:41, David Vrabel wrote: > /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. "semantics". I can fix this when committing. > > Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Juergen > --- > v6: > - clear flag after calling nonseekable_open(). > --- > drivers/xen/xenbus/xenbus_dev_frontend.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/xen/xenbus/xenbus_dev_frontend.c > b/drivers/xen/xenbus/xenbus_dev_frontend.c > index 1e8be12..6c0ead4 100644 > --- a/drivers/xen/xenbus/xenbus_dev_frontend.c > +++ b/drivers/xen/xenbus/xenbus_dev_frontend.c > @@ -538,6 +538,8 @@ static int xenbus_file_open(struct inode *inode, struct > file *filp) > > nonseekable_open(inode, filp); > > + filp->f_mode &= ~FMODE_ATOMIC_POS; /* cdev-style semantics */ > + > u = kzalloc(sizeof(*u), GFP_KERNEL); > if (u == NULL) > return -ENOMEM; > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |