All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael Kelley (EOSG)" <Michael.H.Kelley@microsoft.com>
To: Dexuan Cui <decui@microsoft.com>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	KY Srinivasan <kys@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	"olaf@aepfle.de" <olaf@aepfle.de>,
	"apw@canonical.com" <apw@canonical.com>,
	"jasowang@redhat.com" <jasowang@redhat.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"driverdev-devel@linuxdriverproject.org"
	<driverdev-devel@linuxdriverproject.org>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	"vkuznets@redhat.com" <vkuznets@redhat.com>,
	"marcelo.cerri@canonical.com" <marcelo.cerri@canonical.com>,
	Jack Morgenstein <jackm@mellanox.com>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: RE: [PATCH v3 3/6] PCI: hv: serialize the present/eject work items
Date: Tue, 6 Mar 2018 18:30:33 +0000	[thread overview]
Message-ID: <DM5PR2101MB1030ADC2C68C322A91706011DCD90@DM5PR2101MB1030.namprd21.prod.outlook.com> (raw)
In-Reply-To: <20180306182128.23281-4-decui@microsoft.com>

> -----Original Message-----
> From: Dexuan Cui
> Sent: Tuesday, March 6, 2018 10:22 AM
> To: bhelgaas@google.com; linux-pci@vger.kernel.org; KY Srinivasan <kys@microsoft.com>;
> Stephen Hemminger <sthemmin@microsoft.com>; olaf@aepfle.de; apw@canonical.com;
> jasowang@redhat.com
> Cc: linux-kernel@vger.kernel.org; driverdev-devel@linuxdriverproject.org; Haiyang Zhang
> <haiyangz@microsoft.com>; vkuznets@redhat.com; marcelo.cerri@canonical.com; Michael
> Kelley (EOSG) <Michael.H.Kelley@microsoft.com>; Dexuan Cui <decui@microsoft.com>; Jack
> Morgenstein <jackm@mellanox.com>; stable@vger.kernel.org
> Subject: [PATCH v3 3/6] PCI: hv: serialize the present/eject work items
> 
> When we hot-remove the device, we first receive a PCI_EJECT message and
> then receive a PCI_BUS_RELATIONS message with bus_rel->device_count == 0.
> 
> The first message is offloaded to hv_eject_device_work(), and the second
> is offloaded to pci_devices_present_work(). Both the paths can be running
> list_del(&hpdev->list_entry), causing general protection fault, because
> system_wq can run them concurrently.
> 
> The patch eliminates the race condition.
> 
> Signed-off-by: Dexuan Cui <decui@microsoft.com>
> Tested-by: Adrian Suhov <v-adsuho@microsoft.com>
> Tested-by: Chris Valean <v-chvale@microsoft.com>
> Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
> Cc: Jack Morgenstein <jackm@mellanox.com>
> Cc: stable@vger.kernel.org
> Cc: Stephen Hemminger <sthemmin@microsoft.com>
> Cc: K. Y. Srinivasan <kys@microsoft.com>
> ---
>  drivers/pci/host/pci-hyperv.c | 17 ++++++++++++++---
>  1 file changed, 14 insertions(+), 3 deletions(-)
> 

Reviewed-by: Michael Kelley <mikelley@microsoft.com>

WARNING: multiple messages have this Message-ID (diff)
From: "Michael Kelley (EOSG)" <Michael.H.Kelley@microsoft.com>
To: Dexuan Cui <decui@microsoft.com>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	KY Srinivasan <kys@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	"olaf@aepfle.de" <olaf@aepfle.de>,
	"apw@canonical.com" <apw@canonical.com>,
	"jasowang@redhat.com" <jasowang@redhat.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"driverdev-devel@linuxdriverproject.org"
	<driverdev-devel@linuxdriverproject.org>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	"vkuznets@redhat.com" <vkuznets@redhat.com>,
	"marcelo.cerri@canonical.com" <marcelo.cerri@canonical.com>,
	Jack Morgenstein <jackm@mellanox.com>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: RE: [PATCH v3 3/6] PCI: hv: serialize the present/eject work items
Date: Tue, 6 Mar 2018 18:30:33 +0000	[thread overview]
Message-ID: <DM5PR2101MB1030ADC2C68C322A91706011DCD90@DM5PR2101MB1030.namprd21.prod.outlook.com> (raw)
In-Reply-To: <20180306182128.23281-4-decui@microsoft.com>

> -----Original Message-----
> From: Dexuan Cui
> Sent: Tuesday, March 6, 2018 10:22 AM
> To: bhelgaas@google.com; linux-pci@vger.kernel.org; KY Srinivasan <kys@mi=
crosoft.com>;
> Stephen Hemminger <sthemmin@microsoft.com>; olaf@aepfle.de; apw@canonical=
.com;
> jasowang@redhat.com
> Cc: linux-kernel@vger.kernel.org; driverdev-devel@linuxdriverproject.org;=
 Haiyang Zhang
> <haiyangz@microsoft.com>; vkuznets@redhat.com; marcelo.cerri@canonical.co=
m; Michael
> Kelley (EOSG) <Michael.H.Kelley@microsoft.com>; Dexuan Cui <decui@microso=
ft.com>; Jack
> Morgenstein <jackm@mellanox.com>; stable@vger.kernel.org
> Subject: [PATCH v3 3/6] PCI: hv: serialize the present/eject work items
>=20
> When we hot-remove the device, we first receive a PCI_EJECT message and
> then receive a PCI_BUS_RELATIONS message with bus_rel->device_count =3D=
=3D 0.
>=20
> The first message is offloaded to hv_eject_device_work(), and the second
> is offloaded to pci_devices_present_work(). Both the paths can be running
> list_del(&hpdev->list_entry), causing general protection fault, because
> system_wq can run them concurrently.
>=20
> The patch eliminates the race condition.
>=20
> Signed-off-by: Dexuan Cui <decui@microsoft.com>
> Tested-by: Adrian Suhov <v-adsuho@microsoft.com>
> Tested-by: Chris Valean <v-chvale@microsoft.com>
> Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
> Cc: Jack Morgenstein <jackm@mellanox.com>
> Cc: stable@vger.kernel.org
> Cc: Stephen Hemminger <sthemmin@microsoft.com>
> Cc: K. Y. Srinivasan <kys@microsoft.com>
> ---
>  drivers/pci/host/pci-hyperv.c | 17 ++++++++++++++---
>  1 file changed, 14 insertions(+), 3 deletions(-)
>=20

Reviewed-by: Michael Kelley <mikelley@microsoft.com>

  reply	other threads:[~2018-03-06 18:30 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-06 18:21 [PATCH v3 0/6] some fixes to the pci-hyperv driver Dexuan Cui
2018-03-06 18:21 ` Dexuan Cui
2018-03-06 18:21 ` Dexuan Cui
2018-03-06 18:21 ` [PATCH v3 1/6] PCI: hv: fix a comment typo in _hv_pcifront_read_config() Dexuan Cui
2018-03-06 18:21   ` Dexuan Cui
2018-03-09 19:36   ` Haiyang Zhang
2018-03-09 19:36     ` Haiyang Zhang
2018-03-06 18:21 ` [PATCH v3 2/6] PCI: hv: hv_eject_device_work(): remove the bogus test Dexuan Cui
2018-03-06 18:21   ` Dexuan Cui
2018-03-06 18:29   ` Michael Kelley (EOSG)
2018-03-06 18:29     ` Michael Kelley (EOSG)
2018-03-09 19:37   ` Haiyang Zhang
2018-03-09 19:37     ` Haiyang Zhang
2018-03-06 18:21 ` [PATCH v3 3/6] PCI: hv: serialize the present/eject work items Dexuan Cui
2018-03-06 18:21   ` Dexuan Cui
2018-03-06 18:30   ` Michael Kelley (EOSG) [this message]
2018-03-06 18:30     ` Michael Kelley (EOSG)
2018-03-09 19:37   ` Haiyang Zhang
2018-03-09 19:37     ` Haiyang Zhang
2018-03-09 19:37     ` Haiyang Zhang
2018-03-09 19:37     ` Haiyang Zhang
2018-03-06 18:21 ` [PATCH v3 4/6] PCI: hv: remove hbus->enum_sem Dexuan Cui
2018-03-06 18:21   ` Dexuan Cui
2018-03-06 18:31   ` Michael Kelley (EOSG)
2018-03-06 18:31     ` Michael Kelley (EOSG)
2018-03-09 19:37   ` Haiyang Zhang
2018-03-09 19:37     ` Haiyang Zhang
2018-03-06 18:21 ` [PATCH v3 5/6] PCI: hv: hv_pci_devices_present(): only queue a new work when necessary Dexuan Cui
2018-03-06 18:21   ` Dexuan Cui
2018-03-06 18:21   ` Dexuan Cui
2018-03-06 18:21   ` Dexuan Cui
2018-03-06 18:31   ` Michael Kelley (EOSG)
2018-03-06 18:31     ` Michael Kelley (EOSG)
2018-03-09 19:37   ` Haiyang Zhang
2018-03-09 19:37     ` Haiyang Zhang
2018-03-09 19:37     ` Haiyang Zhang
2018-03-09 19:37     ` Haiyang Zhang
2018-03-06 18:21 ` [PATCH v3 6/6] PCI: hv: fix 2 hang issues in hv_compose_msi_msg() Dexuan Cui
2018-03-06 18:21   ` Dexuan Cui
2018-03-06 18:21   ` Dexuan Cui
2018-03-06 18:21   ` Dexuan Cui
2018-03-06 18:32   ` Michael Kelley (EOSG)
2018-03-06 18:32     ` Michael Kelley (EOSG)
2018-03-07 12:34   ` Lorenzo Pieralisi
2018-03-07 21:40     ` Dexuan Cui
2018-03-07 21:40       ` Dexuan Cui
2018-03-13 18:23       ` Dexuan Cui
2018-03-13 18:23         ` Dexuan Cui
2018-03-13 18:31         ` Lorenzo Pieralisi
2018-03-13 18:31           ` Lorenzo Pieralisi
2018-03-13 18:31           ` Lorenzo Pieralisi
2018-03-14 11:50         ` Lorenzo Pieralisi
2018-03-14 11:50           ` Lorenzo Pieralisi
2018-03-14 11:50           ` Lorenzo Pieralisi
2018-03-14 17:17           ` Dexuan Cui
2018-03-14 17:17             ` Dexuan Cui
2018-03-09 19:38   ` Haiyang Zhang
2018-03-09 19:38     ` Haiyang Zhang
2018-03-09 19:38     ` Haiyang Zhang
2018-03-09 19:38     ` Haiyang Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DM5PR2101MB1030ADC2C68C322A91706011DCD90@DM5PR2101MB1030.namprd21.prod.outlook.com \
    --to=michael.h.kelley@microsoft.com \
    --cc=apw@canonical.com \
    --cc=bhelgaas@google.com \
    --cc=decui@microsoft.com \
    --cc=driverdev-devel@linuxdriverproject.org \
    --cc=haiyangz@microsoft.com \
    --cc=jackm@mellanox.com \
    --cc=jasowang@redhat.com \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=marcelo.cerri@canonical.com \
    --cc=olaf@aepfle.de \
    --cc=stable@vger.kernel.org \
    --cc=sthemmin@microsoft.com \
    --cc=vkuznets@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.