2021-06-29 07:23:46

by Eric Auger

[permalink] [raw]
Subject: [PATCH v2] misc/pvpanic-pci: Allow automatic loading

The virtual machine monitor (QEMU) exposes the pvpanic-pci
device to the guest. On guest side the module exists but
currently isn't loaded automatically. So the driver fails
to be probed and does not its job of handling guest panic
events.

Instead of requiring manual modprobe, let's include a device
database using the MODULE_DEVICE_TABLE macro and let the
module auto-load when the guest gets exposed with such a
pvpanic-pci device.

Signed-off-by: Eric Auger <[email protected]>

---

v1 -> v2:
- enhance the commit message with additional info (Greg, Andy)
---
drivers/misc/pvpanic/pvpanic-pci.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/misc/pvpanic/pvpanic-pci.c b/drivers/misc/pvpanic/pvpanic-pci.c
index 9ecc4e8559d5d..30290d42d8aa8 100644
--- a/drivers/misc/pvpanic/pvpanic-pci.c
+++ b/drivers/misc/pvpanic/pvpanic-pci.c
@@ -122,4 +122,6 @@ static struct pci_driver pvpanic_pci_driver = {
},
};

+MODULE_DEVICE_TABLE(pci, pvpanic_pci_id_tbl);
+
module_pci_driver(pvpanic_pci_driver);
--
2.26.3


2021-07-08 11:59:56

by Eric Auger

[permalink] [raw]
Subject: Re: [PATCH v2] misc/pvpanic-pci: Allow automatic loading

Hi Greg,

On 6/29/21 9:22 AM, Eric Auger wrote:
> The virtual machine monitor (QEMU) exposes the pvpanic-pci
> device to the guest. On guest side the module exists but
> currently isn't loaded automatically. So the driver fails
> to be probed and does not its job of handling guest panic
> events.
>
> Instead of requiring manual modprobe, let's include a device
> database using the MODULE_DEVICE_TABLE macro and let the
> module auto-load when the guest gets exposed with such a
> pvpanic-pci device.
>
> Signed-off-by: Eric Auger <[email protected]>
Maybe I misunderstood your question on the v1. This patch does not
result from an issue found by a tool/script but was identified while
exercising the pvpanic-pci use case "manually".

Thanks

Eric
>
> ---
>
> v1 -> v2:
> - enhance the commit message with additional info (Greg, Andy)
> ---
> drivers/misc/pvpanic/pvpanic-pci.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/misc/pvpanic/pvpanic-pci.c b/drivers/misc/pvpanic/pvpanic-pci.c
> index 9ecc4e8559d5d..30290d42d8aa8 100644
> --- a/drivers/misc/pvpanic/pvpanic-pci.c
> +++ b/drivers/misc/pvpanic/pvpanic-pci.c
> @@ -122,4 +122,6 @@ static struct pci_driver pvpanic_pci_driver = {
> },
> };
>
> +MODULE_DEVICE_TABLE(pci, pvpanic_pci_id_tbl);
> +
> module_pci_driver(pvpanic_pci_driver);