libbpf: Refactor map creation logic and fix cleanup leak
authorAndrii Nakryiko <andriin@fb.com>
Wed, 29 Apr 2020 00:27:38 +0000 (17:27 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 29 Apr 2020 00:35:03 +0000 (17:35 -0700)
commit2d39d7c56f115148b05d1d8c6b8698a5730c8b53
tree2543255be722f52abf7e2cde02c6200a4e102ff2
parent41017e56af6cf99122c86655f60fe4e1b75ecf48
libbpf: Refactor map creation logic and fix cleanup leak

Factor out map creation and destruction logic to simplify code and especially
error handling. Also fix map FD leak in case of partially successful map
creation during bpf_object load operation.

Fixes: 57a00f41644f ("libbpf: Add auto-pinning of maps when loading BPF objects")
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Toke Høiland-Jørgensen <toke@redhat.com>
Link: https://lore.kernel.org/bpf/20200429002739.48006-3-andriin@fb.com
tools/lib/bpf/libbpf.c