[PATCH] regulator: tps65185: check devm_kzalloc() result in probe

Eric-Terminal posted 1 patch 1 month, 3 weeks ago
There is a newer version of this series
drivers/regulator/tps65185.c | 3 +++
1 file changed, 3 insertions(+)
[PATCH] regulator: tps65185: check devm_kzalloc() result in probe
Posted by Eric-Terminal 1 month, 3 weeks ago
tps65185_probe() dereferences the allocation result immediately by using data->regmap. If devm_kzalloc() returns NULL under memory pressure, this leads to a NULL pointer dereference.

Add the missing allocation check and return -ENOMEM on failure.

Signed-off-by: Eric-Terminal <ericterminal@gmail.com>
---
 drivers/regulator/tps65185.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/regulator/tps65185.c b/drivers/regulator/tps65185.c
index 3286c9ab3..786622d8d 100644
--- a/drivers/regulator/tps65185.c
+++ b/drivers/regulator/tps65185.c
@@ -332,6 +332,9 @@ static int tps65185_probe(struct i2c_client *client)
 	int i;
 
 	data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL);
+	if (!data)
+		return -ENOMEM;
+
 	data->regmap = devm_regmap_init_i2c(client, &regmap_config);
 	if (IS_ERR(data->regmap))
 		return dev_err_probe(&client->dev, PTR_ERR(data->regmap),
-- 
2.47.3