[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5] Fixes to Xen pciback for 3.17.



On Mon, Jul 14, 2014 at 12:18:50PM -0400, Konrad Rzeszutek Wilk wrote:
> Greg: goto GHK
> 
> This is v5 version of patches to fix some issues in Xen PCIback.
> 
> One of the issues Xen PCI back has that patch:
> 
> is fixing is that a deadlock can happen if the PCI device is
> assigned to a guest and we try to 'unbind' it from Xen 'pciback' driver.
> The issue is rather simple - the SysFS mechanism for the 'unbind' path
> takes a device lock and the code in Xen PCI uses the pci_reset_function
> which also takes the same lock. Solution is to use the lock-less version
> and mandate that callers of said function in Xen pciback take the lock.
> Easy enough.
> 
> GHK:
> To guard against this happening in the future we also add an assert in the
> form of lockdep assertion. That is OK except that it looks ugly as we take
> it straight from the 'struct device' instead of using an appropriate macro.
> See:
> 
> +       lockdep_assert_held(&dev->dev.mutex);
> 
> (in [PATCH v5 2/6] xen/pciback: Don't deadlock when unbinding).
> 
> The patch: [PATCH v5 3/6] driver core: Provide an wrapper around the mutex
> to do.
> 
> introduces a nice wrapper so it is bit cleaner. Greg, if you are OK with
> it could you kindly Ack it as I would prefer to put this patchset
> via the Xen tree. It would look now as:
> 
> -       lockdep_assert_held(&dev->dev.mutex);
> +       device_lock_assert(&dev->dev);
> 
> I can also squash it in "[PATCH v5 2/6] xen/pciback: Don't deadlock when
>  unbinding." but since that one is going through the stable tree I wasn't
> sure whether you (Greg KH) would be OK with that.

You have my ack now, and feel free to squash it into patch 2/6 if you
want, I don't mind having that in the stable trees.

thanks,

greg k-h

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.