PCI: Fix reference leak in pci_register_host_bridge()
authorMa Ke <make24@iscas.ac.cn>
Tue, 25 Feb 2025 02:14:40 +0000 (10:14 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 10 Mar 2025 18:41:48 +0000 (13:41 -0500)
commit804443c1f27883926de94c849d91f5b7d7d696e9
tree9f5a5531448c5b2932c08dce201a65c5c4421f39
parenta7eb9124d92be1330afd18c98e4f28f297b50cb8
PCI: Fix reference leak in pci_register_host_bridge()

If device_register() fails, call put_device() to give up the reference to
avoid a memory leak, per the comment at device_register().

Found by code review.

Link: https://lore.kernel.org/r/20250225021440.3130264-1-make24@iscas.ac.cn
Fixes: 37d6a0a6f470 ("PCI: Add pci_register_host_bridge() interface")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
[bhelgaas: squash Dan Carpenter's double free fix from
https://lore.kernel.org/r/db806a6c-a91b-4e5a-a84b-6b7e01bdac85@stanley.mountain]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: stable@vger.kernel.org
drivers/pci/probe.c