[PATCH][next] devlink: fix memory leak on 'resource'

From: Colin King
Date: Mon Jan 22 2018 - 05:31:28 EST


From: Colin Ian King <colin.king@xxxxxxxxxxxxx>

Currently, if the call to devlink_resource_find returns null then
the error exit path does not free the devlink_resource 'resource'
and a memory leak occurs. Fix this by kfree'ing resource on the
error exit path.

Detected by CoverityScan, CID#1464184 ("Resource leak")

Fixes: d9f9b9a4d05f ("devlink: Add support for resource abstraction")
Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
---
net/core/devlink.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/net/core/devlink.c b/net/core/devlink.c
index dd7d6dd07bfb..2b6b8eebcda3 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -3181,6 +3181,7 @@ int devlink_resource_register(struct devlink *devlink,
resource_list = &parent_resource->resource_list;
resource->parent = parent_resource;
} else {
+ kfree(resource);
err = -EINVAL;
goto out;
}
--
2.15.1