Merge patch series "ti_sci: Address some issues found by Smatch"

Andrew Goodbody <andrew.goodbody@linaro.org> says:

Prevent a memory leak from a non-freed malloc.
Return an error code on an error path.
Assign a value to a pointer before it is dereferenced.

Link: https://lore.kernel.org/r/20251008-ti_sci-v3-0-5866bf84adc6@linaro.org
This commit is contained in:
Tom Rini
2025-10-16 15:02:14 -06:00
+9 -3
View File
@@ -191,9 +191,9 @@ static int ti_sci_get_response(struct ti_sci_info *info,
/* Sanity check for message response */
if (hdr->seq != info->seq) {
dev_dbg(info->dev, "%s: Message for %d is not expected\n",
dev_err(info->dev, "%s: Message for %d is not expected\n",
__func__, hdr->seq);
return ret;
return -EINVAL;
}
if (msg->len > info->desc->max_msg_size) {
@@ -1365,6 +1365,8 @@ static int ti_sci_cmd_clk_get_parent(const struct ti_sci_handle *handle,
if (ret)
return ret;
resp = (struct ti_sci_msg_resp_get_clock_parent *)xfer->tx_message.buf;
*parent_id = resp->parent_id;
return ret;
@@ -3083,7 +3085,10 @@ devm_ti_sci_get_of_resource(const struct ti_sci_handle *handle,
dev_err(dev, "%s resource type ids not available\n", of_prop);
return ERR_PTR(sets);
}
temp = malloc(sets);
temp = devm_kmalloc(dev, sets, GFP_KERNEL);
if (!temp)
return ERR_PTR(-ENOMEM);
sets /= sizeof(u32);
res->sets = sets;
@@ -3123,6 +3128,7 @@ devm_ti_sci_get_of_resource(const struct ti_sci_handle *handle,
return ERR_PTR(-ENOMEM);
}
devm_kfree(dev, temp);
if (valid_set)
return res;