aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/devlink.c
diff options
context:
space:
mode:
authorColin Ian King <colin.king@canonical.com>2018-01-22 05:31:19 -0500
committerDavid S. Miller <davem@davemloft.net>2018-01-22 09:27:10 -0500
commitb75703de16301b80f1eedecafdf37bb02c9e155f (patch)
tree834fb1ed28387d7ebb81c5f9a6a8653a6ee7f72e /net/core/devlink.c
parent2ae50dea1d5566ea054d96e413a86017066d3528 (diff)
devlink: fix memory leak on 'resource'
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@canonical.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/devlink.c')
-rw-r--r--net/core/devlink.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/core/devlink.c b/net/core/devlink.c
index 66d36705fb9d..18d385ed8237 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -3182,6 +3182,7 @@ int devlink_resource_register(struct devlink *devlink,
3182 resource_list = &parent_resource->resource_list; 3182 resource_list = &parent_resource->resource_list;
3183 resource->parent = parent_resource; 3183 resource->parent = parent_resource;
3184 } else { 3184 } else {
3185 kfree(resource);
3185 err = -EINVAL; 3186 err = -EINVAL;
3186 goto out; 3187 goto out;
3187 } 3188 }