diff options
| author | Mykyta Yatsenko <[email protected]> | 2025-03-17 17:40:37 +0000 |
|---|---|---|
| committer | Andrii Nakryiko <[email protected]> | 2025-03-17 20:45:12 +0000 |
| commit | 07651ccda9ff10a8ca427670cdd06ce2c8e4269c (patch) | |
| tree | 1bfa2a2cc1af36e2f67052cfd9fc128be335ccdb | |
| parent | bpf: BPF token support for BPF_BTF_GET_FD_BY_ID (diff) | |
| download | kernel-07651ccda9ff10a8ca427670cdd06ce2c8e4269c.tar.gz kernel-07651ccda9ff10a8ca427670cdd06ce2c8e4269c.zip | |
bpf: Return prog btf_id without capable check
Return prog's btf_id from bpf_prog_get_info_by_fd regardless of capable
check. This patch enables scenario, when freplace program, running
from user namespace, requires to query target prog's btf.
Signed-off-by: Mykyta Yatsenko <[email protected]>
Signed-off-by: Andrii Nakryiko <[email protected]>
Acked-by: Yonghong Song <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
| -rw-r--r-- | kernel/bpf/syscall.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index 419f82c78203..380b445a304c 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -4732,6 +4732,8 @@ static int bpf_prog_get_info_by_fd(struct file *file, info.recursion_misses = stats.misses; info.verified_insns = prog->aux->verified_insns; + if (prog->aux->btf) + info.btf_id = btf_obj_id(prog->aux->btf); if (!bpf_capable()) { info.jited_prog_len = 0; @@ -4878,8 +4880,6 @@ static int bpf_prog_get_info_by_fd(struct file *file, } } - if (prog->aux->btf) - info.btf_id = btf_obj_id(prog->aux->btf); info.attach_btf_id = prog->aux->attach_btf_id; if (attach_btf) info.attach_btf_obj_id = btf_obj_id(attach_btf); |
