[PATCH AUTOSEL 5.11 01/22] interconnect: core: fix error return code of icc_link_destroy()

From: Sasha Levin
Date: Mon Apr 05 2021 - 12:04:27 EST


From: Jia-Ju Bai <baijiaju1990@xxxxxxxxx>

[ Upstream commit 715ea61532e731c62392221238906704e63d75b6 ]

When krealloc() fails and new is NULL, no error return code of
icc_link_destroy() is assigned.
To fix this bug, ret is assigned with -ENOMEM hen new is NULL.

Reported-by: TOTE Robot <oslab@xxxxxxxxxxxxxxx>
Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxxxx>
Link: https://lore.kernel.org/r/20210306132857.17020-1-baijiaju1990@xxxxxxxxx
Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
drivers/interconnect/core.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c
index 5ad519c9f239..8a1e70e00876 100644
--- a/drivers/interconnect/core.c
+++ b/drivers/interconnect/core.c
@@ -942,6 +942,8 @@ int icc_link_destroy(struct icc_node *src, struct icc_node *dst)
GFP_KERNEL);
if (new)
src->links = new;
+ else
+ ret = -ENOMEM;

out:
mutex_unlock(&icc_lock);
--
2.30.2