2022-03-02 19:00:14

by Jiasheng Jiang

[permalink] [raw]
Subject: [PATCH] i2c: mux: demux-pinctrl: Handle error for devm_kstrdup

As the potential failure of the devm_kstrdup(),
it should be better to check it and return error
if fails.

Fixes: e35478eac030 ("i2c: mux: demux-pinctrl: run properly with multiple instances")
Signed-off-by: Jiasheng Jiang <[email protected]>
---
drivers/i2c/muxes/i2c-demux-pinctrl.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/i2c/muxes/i2c-demux-pinctrl.c b/drivers/i2c/muxes/i2c-demux-pinctrl.c
index 5365199a31f4..3203361b00f2 100644
--- a/drivers/i2c/muxes/i2c-demux-pinctrl.c
+++ b/drivers/i2c/muxes/i2c-demux-pinctrl.c
@@ -243,6 +243,10 @@ static int i2c_demux_pinctrl_probe(struct platform_device *pdev)

props[i].name = devm_kstrdup(&pdev->dev, "status", GFP_KERNEL);
props[i].value = devm_kstrdup(&pdev->dev, "ok", GFP_KERNEL);
+ if (!props[i].name || !props[i].value) {
+ err = -ENOMEM;
+ goto err_rollback;
+ }
props[i].length = 3;

of_changeset_init(&priv->chan[i].chgset);
--
2.25.1