Skip to content

Commit 636f461

Browse files
ISCAS-Vulabbroonie
authored andcommitted
regulator: fixed: fix GPIO descriptor leak on register failure
In the commit referenced by the Fixes tag, devm_gpiod_get_optional() was replaced by manual GPIO management, relying on the regulator core to release the GPIO descriptor. However, this approach does not account for the error path: when regulator registration fails, the core never takes over the GPIO, resulting in a resource leak. Add gpiod_put() before returning on regulator registration failure. Fixes: 5e6f3ae ("regulator: fixed: Let core handle GPIO descriptor") Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn> Link: https://patch.msgid.link/20251028172828.625-1-vulab@iscas.ac.cn Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 6146a0f commit 636f461

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

drivers/regulator/fixed.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ static int reg_fixed_voltage_probe(struct platform_device *pdev)
334334
ret = dev_err_probe(&pdev->dev, PTR_ERR(drvdata->dev),
335335
"Failed to register regulator: %ld\n",
336336
PTR_ERR(drvdata->dev));
337+
gpiod_put(cfg.ena_gpiod);
337338
return ret;
338339
}
339340

0 commit comments

Comments
 (0)