[PATCH] PCI: pnv_php: Fix potential NULL dereference in slot allocator

Timothy Pearson
2025-10-09T01:32:41Z

A highly unlikely NULL dereference in the allocation error handling path was
introduced in 466861909255. Avoid dereferencing php_slot->bus by using
dev_warn() instead of SLOT_WARN() in the error path.

Fixes: 466861909255 ("PCI: pnv_php: Clean up allocated IRQs on unplug")
Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
---
drivers/pci/hotplug/pnv_php.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/hotplug/pnv_php.c b/drivers/pci/hotplug/pnv_php.c
index c5345bff9a55..f735935d80e7 100644
--- a/drivers/pci/hotplug/pnv_php.c
+++ b/drivers/pci/hotplug/pnv_php.c
@@ -804,7 +804,7 @@ static struct pnv_php_slot *pnv_php_alloc_slot(struct device_node *dn)
/* Allocate workqueue for this slot's interrupt handling */
php_slot->wq = alloc_workqueue("pciehp-%s", 0, 0, php_slot->name);
if (!php_slot->wq) {
- SLOT_WARN(php_slot, "Cannot alloc workqueue\n");
+ dev_warn(&bus->dev, "Cannot alloc workqueue\n");
kfree(php_slot->name);
kfree(php_slot);
return NULL;
--
2.39.5