All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5] Fixes to Xen pciback for 3.17.
@ 2014-07-14 16:18 Konrad Rzeszutek Wilk
  2014-07-14 16:18 ` [PATCH v5 1/6] xen-pciback: Document the various parameters and attributes in SysFS Konrad Rzeszutek Wilk
                   ` (15 more replies)
  0 siblings, 16 replies; 67+ messages in thread
From: Konrad Rzeszutek Wilk @ 2014-07-14 16:18 UTC (permalink / raw)
  To: gregkh, xen-devel, linux-kernel, boris.ostrovsky, david.vrabel

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.

END GHK:

Thank you!

Patches are also available on my git tree

 git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git devel/pciback-3.17.v5

 Documentation/ABI/testing/sysfs-driver-pciback | 25 +++++++++++++++
 drivers/xen/xen-pciback/passthrough.c          | 14 +++++++--
 drivers/xen/xen-pciback/pci_stub.c             | 42 ++++++++++++++------------
 drivers/xen/xen-pciback/pciback.h              |  7 +++--
 drivers/xen/xen-pciback/vpci.c                 | 14 +++++++--
 drivers/xen/xen-pciback/xenbus.c               |  4 +--
 include/linux/device.h                         |  5 +++
 7 files changed, 81 insertions(+), 30 deletions(-)

Konrad Rzeszutek Wilk (6):
      xen-pciback: Document the various parameters and attributes in SysFS
      xen/pciback: Don't deadlock when unbinding.
      driver core: Provide an wrapper around the mutex to do lockdep warnings
      xen/pciback: Include the domain id if removing the device whilst still in use
      xen/pciback: Print out the domain owning the device.
      xen/pciback: Remove tons of dereferences


^ permalink raw reply	[flat|nested] 67+ messages in thread

end of thread, other threads:[~2014-08-25 17:18 UTC | newest]

Thread overview: 67+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-14 16:18 [PATCH v5] Fixes to Xen pciback for 3.17 Konrad Rzeszutek Wilk
2014-07-14 16:18 ` [PATCH v5 1/6] xen-pciback: Document the various parameters and attributes in SysFS Konrad Rzeszutek Wilk
2014-07-14 16:18 ` Konrad Rzeszutek Wilk
2014-07-28 13:04   ` David Vrabel
2014-07-28 14:56     ` Greg KH
2014-07-28 14:56     ` Greg KH
2014-08-01 14:59       ` David Vrabel
2014-08-01 14:59       ` [Xen-devel] " David Vrabel
2014-07-28 13:04   ` David Vrabel
2014-07-14 16:18 ` [PATCH v5 2/6] xen/pciback: Don't deadlock when unbinding Konrad Rzeszutek Wilk
2014-07-28 13:06   ` David Vrabel
2014-07-28 13:06   ` David Vrabel
2014-08-04 18:42     ` Konrad Rzeszutek Wilk
2014-08-05  9:27       ` [Xen-devel] " David Vrabel
2014-08-05  9:27       ` David Vrabel
2014-08-04 18:42     ` Konrad Rzeszutek Wilk
2014-07-14 16:18 ` Konrad Rzeszutek Wilk
2014-07-14 16:18 ` [PATCH v5 3/6] driver core: Provide an wrapper around the mutex to do lockdep warnings Konrad Rzeszutek Wilk
2014-07-14 17:39   ` Greg KH
2014-07-14 17:39   ` Greg KH
2014-07-14 16:18 ` Konrad Rzeszutek Wilk
2014-07-14 16:18 ` [PATCH v5 4/6] xen/pciback: Include the domain id if removing the device whilst still in use Konrad Rzeszutek Wilk
2014-07-14 16:18 ` Konrad Rzeszutek Wilk
2014-07-14 16:18 ` [PATCH v5 5/6] xen/pciback: Print out the domain owning the device Konrad Rzeszutek Wilk
2014-07-14 16:18 ` Konrad Rzeszutek Wilk
2014-07-14 16:18 ` [PATCH v5 6/6] xen/pciback: Remove tons of dereferences Konrad Rzeszutek Wilk
2014-07-14 16:18 ` Konrad Rzeszutek Wilk
2014-07-14 17:40 ` [PATCH v5] Fixes to Xen pciback for 3.17 Greg KH
2014-07-14 17:39   ` Konrad Rzeszutek Wilk
2014-07-14 17:39   ` Konrad Rzeszutek Wilk
2014-07-14 17:40 ` Greg KH
2014-08-01 15:30 ` David Vrabel
2014-08-04 18:43   ` Konrad Rzeszutek Wilk
2014-08-05  8:44     ` Sander Eikelenboom
2014-08-05  8:44     ` [Xen-devel] " Sander Eikelenboom
2014-08-05  9:31       ` David Vrabel
2014-08-05  9:31       ` [Xen-devel] " David Vrabel
2014-08-05  9:44         ` Sander Eikelenboom
2014-08-05  9:44         ` [Xen-devel] " Sander Eikelenboom
2014-08-05 13:49           ` Konrad Rzeszutek Wilk
2014-08-05 13:49           ` [Xen-devel] " Konrad Rzeszutek Wilk
2014-08-05 14:04             ` Sander Eikelenboom
2014-08-06 18:59               ` Sander Eikelenboom
2014-08-06 19:18                 ` Konrad Rzeszutek Wilk
2014-08-06 19:25                   ` Sander Eikelenboom
2014-08-06 19:25                   ` [Xen-devel] " Sander Eikelenboom
2014-08-06 19:39                     ` Konrad Rzeszutek Wilk
2014-08-06 19:39                     ` [Xen-devel] " Konrad Rzeszutek Wilk
2014-08-06 19:47                       ` Sander Eikelenboom
2014-08-06 20:09                         ` Konrad Rzeszutek Wilk
2014-08-06 20:17                           ` Sander Eikelenboom
2014-08-06 20:17                           ` [Xen-devel] " Sander Eikelenboom
2014-08-06 22:08                             ` Sander Eikelenboom
2014-08-06 22:08                             ` [Xen-devel] " Sander Eikelenboom
2014-08-06 20:09                         ` Konrad Rzeszutek Wilk
2014-08-06 19:47                       ` Sander Eikelenboom
2014-08-07  9:04                       ` [Xen-devel] " David Vrabel
2014-08-25 17:18                         ` Sander Eikelenboom
2014-08-25 17:18                         ` Sander Eikelenboom
2014-08-07  9:04                       ` David Vrabel
2014-08-06 19:18                 ` Konrad Rzeszutek Wilk
2014-08-06 18:59               ` Sander Eikelenboom
2014-08-05 14:04             ` Sander Eikelenboom
2014-08-05 14:33             ` Sander Eikelenboom
2014-08-05 14:33             ` [Xen-devel] " Sander Eikelenboom
2014-08-04 18:43   ` Konrad Rzeszutek Wilk
2014-08-01 15:30 ` David Vrabel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.