Messages in this thread Patch in this message | | | From | Qinglang Miao <> | Subject | [PATCH] PCI: fix use-after-free in pci_register_host_bridge | Date | Fri, 20 Nov 2020 15:48:48 +0800 |
| |
When put_device(&bridge->dev) being called, kfree(bridge) is inside of release function, so the following device_del would cause a use-after-free bug.
Fixes: 37d6a0a6f470 ("PCI: Add pci_register_host_bridge() interface") Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com> --- drivers/pci/probe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 4289030b0..82292e87e 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -991,8 +991,8 @@ static int pci_register_host_bridge(struct pci_host_bridge *bridge) return 0; unregister: - put_device(&bridge->dev); device_del(&bridge->dev); + put_device(&bridge->dev); free: kfree(bus); -- 2.23.0
| |