mbox series

[PATCHv3,bpf,0/3] Fix pining maps after reuse map fd

Message ID 20201006021345.3817033-1-liuhangbin@gmail.com
Headers show
Series Fix pining maps after reuse map fd | expand

Message

Hangbin Liu Oct. 6, 2020, 2:13 a.m. UTC
When a user reuse map fd after creating a map manually and set the
pin_path, then load the object via libbpf. bpf_object__create_maps()
will skip pinning map if map fd exist. Fix it by add moving bpf creation
to else condition and go on checking map pin_path after that.

v3:
for selftest: use CHECK() for bpf_object__open_file() and close map fd on error

v2:
a) close map fd if init map slots failed
b) add bpf selftest for this scenario


Hangbin Liu (3):
  libbpf: close map fd if init map slots failed
  libbpf: check if pin_path was set even map fd exist
  selftest/bpf: test pinning map with reused map fd

 tools/lib/bpf/libbpf.c                        | 80 +++++++++++--------
 .../selftests/bpf/prog_tests/pinning.c        | 49 +++++++++++-
 2 files changed, 94 insertions(+), 35 deletions(-)

Comments

patchwork-bot+bpf@kernel.org Oct. 6, 2020, 6:40 p.m. UTC | #1
Hello:

This series was applied to bpf/bpf-next.git (refs/heads/master):

On Tue,  6 Oct 2020 10:13:42 +0800 you wrote:
> When a user reuse map fd after creating a map manually and set the
> pin_path, then load the object via libbpf. bpf_object__create_maps()
> will skip pinning map if map fd exist. Fix it by add moving bpf creation
> to else condition and go on checking map pin_path after that.
> 
> v3:
> for selftest: use CHECK() for bpf_object__open_file() and close map fd on error
> 
> [...]

Here is the summary with links:
  - [PATCHv3,1/3] libbpf: close map fd if init map slots failed
    https://git.kernel.org/bpf/bpf-next/c/a0f2b7acb4b1
  - [PATCHv3,2/3] libbpf: check if pin_path was set even map fd exist
    https://git.kernel.org/bpf/bpf-next/c/2c193d32caee
  - [PATCHv3,3/3] selftest/bpf: test pinning map with reused map fd
    https://git.kernel.org/bpf/bpf-next/c/44c4aa2bd151

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html