mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 04:47:05 +00:00
remoteproc: sysmon: fix memory leak in qcom_add_sysmon_subdev()
[ Upstream commite01ce676aa
] The kfree() should be called when of_irq_get_byname() fails or devm_request_threaded_irq() fails in qcom_add_sysmon_subdev(), otherwise there will be a memory leak, so add kfree() to fix it. Fixes:027045a6e2
("remoteproc: qcom: Add shutdown-ack irq") Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20221129105650.1539187-1-cuigaosheng1@huawei.com Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
b1b3d18708
commit
1a62bebe07
1 changed files with 4 additions and 1 deletions
|
@ -652,7 +652,9 @@ struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc,
|
|||
if (sysmon->shutdown_irq != -ENODATA) {
|
||||
dev_err(sysmon->dev,
|
||||
"failed to retrieve shutdown-ack IRQ\n");
|
||||
return ERR_PTR(sysmon->shutdown_irq);
|
||||
ret = sysmon->shutdown_irq;
|
||||
kfree(sysmon);
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
} else {
|
||||
ret = devm_request_threaded_irq(sysmon->dev,
|
||||
|
@ -663,6 +665,7 @@ struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc,
|
|||
if (ret) {
|
||||
dev_err(sysmon->dev,
|
||||
"failed to acquire shutdown-ack IRQ\n");
|
||||
kfree(sysmon);
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue