aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/bpf/syscall.c
diff options
context:
space:
mode:
authorDaniel Borkmann <daniel@iogearbox.net>2018-06-02 17:06:34 -0400
committerAlexei Starovoitov <ast@kernel.org>2018-06-03 10:42:06 -0400
commit4316b40914ecde3738968225af56e650e8b61938 (patch)
tree81a8391f76ed9377f9933d8d89045226a35e1cdd /kernel/bpf/syscall.c
parent3fe2867cdf088ffb2dc5aed6cdcf757b4c62476c (diff)
bpf: show prog and map id in fdinfo
Its trivial and straight forward to expose it for scripts that can then use it along with bpftool in order to inspect an individual application's used maps and progs. Right now we dump some basic information in the fdinfo file but with the help of the map/prog id full introspection becomes possible now. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Song Liu <songliubraving@fb.com> Acked-by: Jesper Dangaard Brouer <brouer@redhat.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'kernel/bpf/syscall.c')
-rw-r--r--kernel/bpf/syscall.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
index 7365d79ae00d..0fa20624707f 100644
--- a/kernel/bpf/syscall.c
+++ b/kernel/bpf/syscall.c
@@ -327,13 +327,15 @@ static void bpf_map_show_fdinfo(struct seq_file *m, struct file *filp)
327 "value_size:\t%u\n" 327 "value_size:\t%u\n"
328 "max_entries:\t%u\n" 328 "max_entries:\t%u\n"
329 "map_flags:\t%#x\n" 329 "map_flags:\t%#x\n"
330 "memlock:\t%llu\n", 330 "memlock:\t%llu\n"
331 "map_id:\t%u\n",
331 map->map_type, 332 map->map_type,
332 map->key_size, 333 map->key_size,
333 map->value_size, 334 map->value_size,
334 map->max_entries, 335 map->max_entries,
335 map->map_flags, 336 map->map_flags,
336 map->pages * 1ULL << PAGE_SHIFT); 337 map->pages * 1ULL << PAGE_SHIFT,
338 map->id);
337 339
338 if (owner_prog_type) { 340 if (owner_prog_type) {
339 seq_printf(m, "owner_prog_type:\t%u\n", 341 seq_printf(m, "owner_prog_type:\t%u\n",
@@ -1070,11 +1072,13 @@ static void bpf_prog_show_fdinfo(struct seq_file *m, struct file *filp)
1070 "prog_type:\t%u\n" 1072 "prog_type:\t%u\n"
1071 "prog_jited:\t%u\n" 1073 "prog_jited:\t%u\n"
1072 "prog_tag:\t%s\n" 1074 "prog_tag:\t%s\n"
1073 "memlock:\t%llu\n", 1075 "memlock:\t%llu\n"
1076 "prog_id:\t%u\n",
1074 prog->type, 1077 prog->type,
1075 prog->jited, 1078 prog->jited,
1076 prog_tag, 1079 prog_tag,
1077 prog->pages * 1ULL << PAGE_SHIFT); 1080 prog->pages * 1ULL << PAGE_SHIFT,
1081 prog->aux->id);
1078} 1082}
1079#endif 1083#endif
1080 1084