bpf: Allow uprobe_multi binary specified by file descriptor#12432
bpf: Allow uprobe_multi binary specified by file descriptor#12432kernel-patches-daemon-bpf[bot] wants to merge 6 commits into
Conversation
|
Upstream branch: 140fa23 |
AI reviewed your patch. Please fix the bug or email reply why it's not a bug. In-Reply-To-Subject: |
818f7b1 to
d9ed865
Compare
|
Upstream branch: 2e8ad1f |
6f90a9b to
339ef5e
Compare
|
Forwarding comment 4671668720 via email |
d9ed865 to
1b36123
Compare
Resolve the uprobe_multi user path with user_path_at() instead of copying the string with strndup_user() and passing it to kern_path(). This removes the temporary allocation and keeps the lookup logic in one helper. Signed-off-by: Jiri Olsa <jolsa@kernel.org>
|
Upstream branch: 30dee2c |
Allow uprobe_multi link to identify the target binary by an already opened file descriptor. Adding new BPF_F_UPROBE_MULTI_PATH_FD flag and the path_fd field for the attr.link_create.uprobe_multi struct. When the flag is set, we resolve the target from path_fd, without the flag, we keep the existing string path behavior. I don't see a use case for supporting O_PATH file descriptors, because we need to read the binary first to get probes offsets, so I'm using the CLASS(fd, f), which fails for O_PATH fds. Assisted-by: Codex:GPT-5.4 Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Adding the path_fd field to struct bpf_link_create_opts and passing it through kernel attr interface. Assisted-by: Codex:GPT-5.4 Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Add a uprobe_multi link API selftest that opens /proc/self/exe and passes the resulting descriptor through opts.uprobe_multi.path_fd with BPF_F_UPROBE_MULTI_PATH_FD set. Assisted-by: Codex:GPT-5.4 Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Adding tests to attach_api_fails suite to make sure we fail wrong setup for path_fd usage. Signed-off-by: Jiri Olsa <jolsa@kernel.org>
We verify info.uprobe_multi.flags against wrong kprobe-multi flag (BPF_F_KPROBE_MULTI_RETURN). It's the same value as the correct flag (BPF_F_UPROBE_MULTI_RETURN), so there's not functional change. Fixes: 147c693 ("selftests/bpf: Add link_info test for uprobe_multi link") Signed-off-by: Jiri Olsa <jolsa@kernel.org>
339ef5e to
3c35ba2
Compare
Pull request for series with
subject: bpf: Allow uprobe_multi binary specified by file descriptor
version: 1
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=1109332