| From e47fa0313d83becb0883f07c7c120fa93719ba95 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 25 May 2021 16:17:33 -0700 |
| Subject: PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv() |
| |
| From: Haiyang Zhang <haiyangz@microsoft.com> |
| |
| [ Upstream commit 7d815f4afa87f2032b650ae1bba7534b550a6b8b ] |
| |
| 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> |
| Link: https://lore.kernel.org/r/1621984653-1210-1-git-send-email-haiyangz@microsoft.com |
| Signed-off-by: Wei Liu <wei.liu@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@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 03ed5cb1c4b2..d57c538bbb2d 100644 |
| --- a/drivers/pci/controller/pci-hyperv.c |
| +++ b/drivers/pci/controller/pci-hyperv.c |
| @@ -3480,6 +3480,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.30.2 |
| |