lkml.org 
[lkml]   [2014]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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


\
 
 \ /
  Last update: 2014-07-14 20:41    [W:0.141 / U:0.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site