diff options
author | Colin Ian King <colin.king@canonical.com> | 2018-01-22 10:31:19 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-01-22 09:27:10 -0500 |
commit | b75703de16301b80f1eedecafdf37bb02c9e155f (patch) | |
tree | 834fb1ed28387d7ebb81c5f9a6a8653a6ee7f72e /net/core | |
parent | 2ae50dea1d5566ea054d96e413a86017066d3528 (diff) | |
download | linux-b75703de16301b80f1eedecafdf37bb02c9e155f.tar.gz linux-b75703de16301b80f1eedecafdf37bb02c9e155f.tar.bz2 linux-b75703de16301b80f1eedecafdf37bb02c9e155f.zip |
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')
-rw-r--r-- | net/core/devlink.c | 1 |
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, resource_list = &parent_resource->resource_list; resource->parent = parent_resource; } else { + kfree(resource); err = -EINVAL; goto out; } |