On 12/14/18 7:55 AM, Ross Lagerwall wrote:
If pcistub_init_device fails, the release function will be called with dev_data set to NULL. Check it before using it to avoid a NULL pointer dereference.
Signed-off-by: Ross Lagerwall ross.lagerwall@citrix.com
I think this should go to stable trees too (copying them)
Applied to for-linus-4.21
-boris
drivers/xen/xen-pciback/pci_stub.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c index 59661db144e5..097410a7cdb7 100644 --- a/drivers/xen/xen-pciback/pci_stub.c +++ b/drivers/xen/xen-pciback/pci_stub.c @@ -106,7 +106,8 @@ static void pcistub_device_release(struct kref *kref) * is called from "unbind" which takes a device_lock mutex. */ __pci_reset_function_locked(dev);
- if (pci_load_and_free_saved_state(dev, &dev_data->pci_saved_state))
- if (dev_data &&
dev_info(&dev->dev, "Could not reload PCI state\n"); else pci_restore_state(dev);pci_load_and_free_saved_state(dev, &dev_data->pci_saved_state))