of_regulator_bulk_get_all() allocates the consumers array and hands it to the caller, who is expected to free it at an appropriate time. PCI pwrctrl never did, leading to a memory leak. Add an explicit kfree() for the consumers array. Cc: stable@vger.kernel.org Fixes: 75996c92f4de ("PCI/pwrctrl: Add pwrctrl driver for PCI slots") Signed-off-by: Alexey Charkov --- Split out from [1] for easier application per Mark's feedback [1] https://lore.kernel.org/all/20260929-regulator-get-all-v1-0-e887c66a47f1@flipper.net/ --- drivers/pci/pwrctrl/generic.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/pwrctrl/generic.c b/drivers/pci/pwrctrl/generic.c index d56171e0ee24..4b6cbbb52248 100644 --- a/drivers/pci/pwrctrl/generic.c +++ b/drivers/pci/pwrctrl/generic.c @@ -63,6 +63,7 @@ static void devm_slot_pwrctrl_release(void *data) struct slot_pwrctrl *slot = data; regulator_bulk_free(slot->num_supplies, slot->supplies); + kfree(slot->supplies); } static int slot_pwrctrl_probe(struct platform_device *pdev) --- base-commit: 6c2cb8b8b843d216ab549b678a0d8831c43153e0 change-id: 20260930-pci-pwrctrl-kfree-b58621738902 Best regards, -- Alexey Charkov