lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 098/846] libbpf: Free up resources used by inner map definition
    Date
    From: Andrii Nakryiko <andrii@kernel.org>

    [ Upstream commit 8f7b239ea8cfdc8e64c875ee417fed41431a1f37 ]

    It's not enough to just free(map->inner_map), as inner_map itself can
    have extra memory allocated, like map name.

    Fixes: 646f02ffdd49 ("libbpf: Add BTF-defined map-in-map support")
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Reviewed-by: Hengqi Chen <hengqi.chen@gmail.com>
    Link: https://lore.kernel.org/bpf/20211107165521.9240-3-andrii@kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/lib/bpf/libbpf.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
    index 7145463a4a562..0ad29203cbfbf 100644
    --- a/tools/lib/bpf/libbpf.c
    +++ b/tools/lib/bpf/libbpf.c
    @@ -8676,7 +8676,10 @@ int bpf_map__set_inner_map_fd(struct bpf_map *map, int fd)
    pr_warn("error: inner_map_fd already specified\n");
    return libbpf_err(-EINVAL);
    }
    - zfree(&map->inner_map);
    + if (map->inner_map) {
    + bpf_map__destroy(map->inner_map);
    + zfree(&map->inner_map);
    + }
    map->inner_map_fd = fd;
    return 0;
    }
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-01-24 23:10    [W:4.355 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site