summaryrefslogtreecommitdiff
path: root/kernel/bpf/syscall.c
diff options
context:
space:
mode:
authorMykyta Yatsenko <yatsenko@meta.com>2025-03-17 17:40:37 +0000
committerAndrii Nakryiko <andrii@kernel.org>2025-03-17 13:45:12 -0700
commit07651ccda9ff10a8ca427670cdd06ce2c8e4269c (patch)
tree1bfa2a2cc1af36e2f67052cfd9fc128be335ccdb /kernel/bpf/syscall.c
parent0de445d18e36ca5914337217c118016ba5db574d (diff)
downloadlinux-07651ccda9ff10a8ca427670cdd06ce2c8e4269c.tar.gz
linux-07651ccda9ff10a8ca427670cdd06ce2c8e4269c.tar.bz2
linux-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 <yatsenko@meta.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Yonghong Song <yonghong.song@linux.dev> Link: https://lore.kernel.org/bpf/20250317174039.161275-3-mykyta.yatsenko5@gmail.com
Diffstat (limited to 'kernel/bpf/syscall.c')
-rw-r--r--kernel/bpf/syscall.c4
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);