diff options
author | Hou Tao <houtao1@huawei.com> | 2024-09-12 09:28:44 +0800 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2024-09-13 16:51:08 -0700 |
commit | 87e9675a0dfd0bf4a36550e4a0e673038ec67aee (patch) | |
tree | aef1cd925f24edb56582e9269432fc5e7ad537ea /tools/perf/scripts/python/net_dropmonitor.py | |
parent | 211bf9cf178a986f025b65cee11012d4e3d6b1f8 (diff) |
bpf: Call the missed btf_record_free() when map creation fails
When security_bpf_map_create() in map_create() fails, map_create() will
call btf_put() and ->map_free() callback to free the map. It doesn't
free the btf_record of map value, so add the missed btf_record_free()
when map creation fails.
However btf_record_free() needs to be called after ->map_free() just
like bpf_map_free_deferred() did, because ->map_free() may use the
btf_record to free the special fields in preallocated map value. So
factor out bpf_map_free() helper to free the map, btf_record, and btf
orderly and use the helper in both map_create() and
bpf_map_free_deferred().
Signed-off-by: Hou Tao <houtao1@huawei.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Link: https://lore.kernel.org/r/20240912012845.3458483-2-houtao@huaweicloud.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/net_dropmonitor.py')
0 files changed, 0 insertions, 0 deletions