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@xxxxxxxxxx> 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 && > + pci_load_and_free_saved_state(dev, &dev_data->pci_saved_state)) > dev_info(&dev->dev, "Could not reload PCI state\n"); > else > pci_restore_state(dev);