diff mbox series

pci-hyperv: Add check for hyperv_initialized in init_hv_pci_drv()

Message ID 1621984653-1210-1-git-send-email-haiyangz@microsoft.com (mailing list archive)
State Accepted
Commit 7d815f4afa87f2032b650ae1bba7534b550a6b8b
Delegated to: Lorenzo Pieralisi
Headers show
Series pci-hyperv: Add check for hyperv_initialized in init_hv_pci_drv() | expand

Commit Message

Haiyang Zhang May 25, 2021, 11:17 p.m. UTC
Add check for hv_is_hyperv_initialized() at the top of init_hv_pci_drv(),
so if the pci-hyperv driver is force-loaded on non Hyper-V platforms, the
init_hv_pci_drv() will exit immediately, without any side effects, like
assignments to hvpci_block_ops, etc.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reported-and-tested-by: Mohammad Alqayeem <mohammad.alqyeem@nutanix.com>
---
 drivers/pci/controller/pci-hyperv.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Wei Liu May 26, 2021, 10:08 a.m. UTC | #1
On Tue, May 25, 2021 at 04:17:33PM -0700, Haiyang Zhang wrote:
> Add check for hv_is_hyperv_initialized() at the top of init_hv_pci_drv(),
> so if the pci-hyperv driver is force-loaded on non Hyper-V platforms, the
> init_hv_pci_drv() will exit immediately, without any side effects, like
> assignments to hvpci_block_ops, etc.
> 
> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
> Reported-and-tested-by: Mohammad Alqayeem <mohammad.alqyeem@nutanix.com>

Reviewed-by: Wei Liu <wei.liu@kernel.org>

> ---
>  drivers/pci/controller/pci-hyperv.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
> index 6511648271b2..bebe3eeebc4e 100644
> --- a/drivers/pci/controller/pci-hyperv.c
> +++ b/drivers/pci/controller/pci-hyperv.c
> @@ -3476,6 +3476,9 @@ static void __exit exit_hv_pci_drv(void)
>  
>  static int __init init_hv_pci_drv(void)
>  {
> +	if (!hv_is_hyperv_initialized())
> +		return -ENODEV;
> +
>  	/* Set the invalid domain number's bit, so it will not be used */
>  	set_bit(HVPCI_DOM_INVALID, hvpci_dom_map);
>  
> -- 
> 2.25.1
>
Wei Liu June 2, 2021, 10:32 a.m. UTC | #2
On Tue, May 25, 2021 at 04:17:33PM -0700, Haiyang Zhang wrote:
> Add check for hv_is_hyperv_initialized() at the top of init_hv_pci_drv(),
> so if the pci-hyperv driver is force-loaded on non Hyper-V platforms, the
> init_hv_pci_drv() will exit immediately, without any side effects, like
> assignments to hvpci_block_ops, etc.
> 
> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
> Reported-and-tested-by: Mohammad Alqayeem <mohammad.alqyeem@nutanix.com>

Hello PCI subsystem maintainers, are you going to take this patch or
shall I?

Wei.

> ---
>  drivers/pci/controller/pci-hyperv.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
> index 6511648271b2..bebe3eeebc4e 100644
> --- a/drivers/pci/controller/pci-hyperv.c
> +++ b/drivers/pci/controller/pci-hyperv.c
> @@ -3476,6 +3476,9 @@ static void __exit exit_hv_pci_drv(void)
>  
>  static int __init init_hv_pci_drv(void)
>  {
> +	if (!hv_is_hyperv_initialized())
> +		return -ENODEV;
> +
>  	/* Set the invalid domain number's bit, so it will not be used */
>  	set_bit(HVPCI_DOM_INVALID, hvpci_dom_map);
>  
> -- 
> 2.25.1
>
Bjorn Helgaas June 4, 2021, 9:26 p.m. UTC | #3
On Wed, Jun 02, 2021 at 10:32:06AM +0000, Wei Liu wrote:
> On Tue, May 25, 2021 at 04:17:33PM -0700, Haiyang Zhang wrote:
> > Add check for hv_is_hyperv_initialized() at the top of init_hv_pci_drv(),
> > so if the pci-hyperv driver is force-loaded on non Hyper-V platforms, the
> > init_hv_pci_drv() will exit immediately, without any side effects, like
> > assignments to hvpci_block_ops, etc.
> > 
> > Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
> > Reported-and-tested-by: Mohammad Alqayeem <mohammad.alqyeem@nutanix.com>
> 
> Hello PCI subsystem maintainers, are you going to take this patch or
> shall I?

This was mistakenly assigned to me, so I reassigned it back to
Lorenzo.

If you *do* take this, please at least update it to follow the PCI
commit log conventions, e.g.,

  PCI: hv: Add check ...

and wrap the text so it fits in 75 columns.

> > ---
> >  drivers/pci/controller/pci-hyperv.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
> > index 6511648271b2..bebe3eeebc4e 100644
> > --- a/drivers/pci/controller/pci-hyperv.c
> > +++ b/drivers/pci/controller/pci-hyperv.c
> > @@ -3476,6 +3476,9 @@ static void __exit exit_hv_pci_drv(void)
> >  
> >  static int __init init_hv_pci_drv(void)
> >  {
> > +	if (!hv_is_hyperv_initialized())
> > +		return -ENODEV;
> > +
> >  	/* Set the invalid domain number's bit, so it will not be used */
> >  	set_bit(HVPCI_DOM_INVALID, hvpci_dom_map);
> >  
> > -- 
> > 2.25.1
> >
Wei Liu June 5, 2021, 10:40 a.m. UTC | #4
On Fri, Jun 04, 2021 at 04:26:22PM -0500, Bjorn Helgaas wrote:
> On Wed, Jun 02, 2021 at 10:32:06AM +0000, Wei Liu wrote:
> > On Tue, May 25, 2021 at 04:17:33PM -0700, Haiyang Zhang wrote:
> > > Add check for hv_is_hyperv_initialized() at the top of init_hv_pci_drv(),
> > > so if the pci-hyperv driver is force-loaded on non Hyper-V platforms, the
> > > init_hv_pci_drv() will exit immediately, without any side effects, like
> > > assignments to hvpci_block_ops, etc.
> > > 
> > > Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
> > > Reported-and-tested-by: Mohammad Alqayeem <mohammad.alqyeem@nutanix.com>
> > 
> > Hello PCI subsystem maintainers, are you going to take this patch or
> > shall I?
> 
> This was mistakenly assigned to me, so I reassigned it back to
> Lorenzo.
> 
> If you *do* take this, please at least update it to follow the PCI
> commit log conventions, e.g.,
> 
>   PCI: hv: Add check ...
> 
> and wrap the text so it fits in 75 columns.

Lorenzo already picked up two Hyper-V PCI patches from Long Li. I think
leaving this to him is better.

Wei.
Wei Liu June 18, 2021, 1:22 p.m. UTC | #5
On Sat, Jun 05, 2021 at 10:40:21AM +0000, Wei Liu wrote:
> On Fri, Jun 04, 2021 at 04:26:22PM -0500, Bjorn Helgaas wrote:
> > On Wed, Jun 02, 2021 at 10:32:06AM +0000, Wei Liu wrote:
> > > On Tue, May 25, 2021 at 04:17:33PM -0700, Haiyang Zhang wrote:
> > > > Add check for hv_is_hyperv_initialized() at the top of init_hv_pci_drv(),
> > > > so if the pci-hyperv driver is force-loaded on non Hyper-V platforms, the
> > > > init_hv_pci_drv() will exit immediately, without any side effects, like
> > > > assignments to hvpci_block_ops, etc.
> > > > 
> > > > Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
> > > > Reported-and-tested-by: Mohammad Alqayeem <mohammad.alqyeem@nutanix.com>
> > > 
> > > Hello PCI subsystem maintainers, are you going to take this patch or
> > > shall I?
> > 
> > This was mistakenly assigned to me, so I reassigned it back to
> > Lorenzo.
> > 
> > If you *do* take this, please at least update it to follow the PCI
> > commit log conventions, e.g.,
> > 
> >   PCI: hv: Add check ...
> > 
> > and wrap the text so it fits in 75 columns.
> 
> Lorenzo already picked up two Hyper-V PCI patches from Long Li. I think
> leaving this to him is better.
> 

This patch is still missing from pci/hv, so I've picked it up via
hyperv-next (with the adjustments required by Bjorn).

Wei.
Haiyang Zhang June 18, 2021, 1:26 p.m. UTC | #6
> -----Original Message-----
> From: Wei Liu <wei.liu@kernel.org>
> Sent: Friday, June 18, 2021 9:23 AM
> To: Bjorn Helgaas <helgaas@kernel.org>
> Cc: Wei Liu <wei.liu@kernel.org>; Haiyang Zhang <haiyangz@microsoft.com>;
> bhelgaas@google.com; lorenzo.pieralisi@arm.com; linux-
> hyperv@vger.kernel.org; linux-pci@vger.kernel.org; KY Srinivasan
> <kys@microsoft.com>; olaf@aepfle.de; vkuznets <vkuznets@redhat.com>;
> linux-kernel@vger.kernel.org
> Subject: Re: [PATCH] pci-hyperv: Add check for hyperv_initialized in
> init_hv_pci_drv()
> 
> On Sat, Jun 05, 2021 at 10:40:21AM +0000, Wei Liu wrote:
> > On Fri, Jun 04, 2021 at 04:26:22PM -0500, Bjorn Helgaas wrote:
> > > On Wed, Jun 02, 2021 at 10:32:06AM +0000, Wei Liu wrote:
> > > > On Tue, May 25, 2021 at 04:17:33PM -0700, Haiyang Zhang wrote:
> > > > > Add check for hv_is_hyperv_initialized() at the top of
> > > > > init_hv_pci_drv(), so if the pci-hyperv driver is force-loaded
> > > > > on non Hyper-V platforms, the
> > > > > init_hv_pci_drv() will exit immediately, without any side
> > > > > effects, like assignments to hvpci_block_ops, etc.
> > > > >
> > > > > Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
> > > > > Reported-and-tested-by: Mohammad Alqayeem
> > > > > <mohammad.alqyeem@nutanix.com>
> > > >
> > > > Hello PCI subsystem maintainers, are you going to take this patch
> > > > or shall I?
> > >
> > > This was mistakenly assigned to me, so I reassigned it back to
> > > Lorenzo.
> > >
> > > If you *do* take this, please at least update it to follow the PCI
> > > commit log conventions, e.g.,
> > >
> > >   PCI: hv: Add check ...
> > >
> > > and wrap the text so it fits in 75 columns.
> >
> > Lorenzo already picked up two Hyper-V PCI patches from Long Li. I
> > think leaving this to him is better.
> >
> 
> This patch is still missing from pci/hv, so I've picked it up via hyperv-next
> (with the adjustments required by Bjorn).

Thank you!

- Haiyang
diff mbox series

Patch

diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
index 6511648271b2..bebe3eeebc4e 100644
--- a/drivers/pci/controller/pci-hyperv.c
+++ b/drivers/pci/controller/pci-hyperv.c
@@ -3476,6 +3476,9 @@  static void __exit exit_hv_pci_drv(void)
 
 static int __init init_hv_pci_drv(void)
 {
+	if (!hv_is_hyperv_initialized())
+		return -ENODEV;
+
 	/* Set the invalid domain number's bit, so it will not be used */
 	set_bit(HVPCI_DOM_INVALID, hvpci_dom_map);