Messages in this thread Patch in this message | | | From | Jubin Zhong <> | Subject | [PATCH] PCI: Fix pci_create_slot() memory leak | Date | Wed, 25 Nov 2020 15:22:51 +0800 |
| |
After commit 8a94644b440e ("PCI: Fix pci_create_slot() reference count leak"), kobject_put() is called instead of kfree() if kobject_init_and_add() fails. However, we still need to free the slot memory before overwriting it as ERR_PTR(err).
This partially reverts the commit 8a94644b440e.
Fixes: 8a94644b440e ("PCI: Fix pci_create_slot() reference count leak") Signed-off-by: Jubin Zhong <zhongjubin@huawei.com> --- drivers/pci/slot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/slot.c b/drivers/pci/slot.c index 3861505..a4be62e 100644 --- a/drivers/pci/slot.c +++ b/drivers/pci/slot.c @@ -268,7 +268,6 @@ struct pci_slot *pci_create_slot(struct pci_bus *parent, int slot_nr, slot_name = make_slot_name(name); if (!slot_name) { err = -ENOMEM; - kfree(slot); goto err; } @@ -296,6 +295,7 @@ struct pci_slot *pci_create_slot(struct pci_bus *parent, int slot_nr, mutex_unlock(&pci_slot_mutex); return slot; err: + kfree(slot); slot = ERR_PTR(err); goto out; } -- 1.8.5.6
| |