]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
bpf: show prog and map id in fdinfo
authorDaniel Borkmann <daniel@iogearbox.net>
Sat, 2 Jun 2018 21:06:34 +0000 (23:06 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Sun, 3 Jun 2018 14:42:06 +0000 (07:42 -0700)
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>
kernel/bpf/syscall.c

index 7365d79ae00d0ec54cb930bb01da5b675fe5def2..0fa20624707f23b15d3200c1302765a119ee9fc1 100644 (file)
@@ -327,13 +327,15 @@ static void bpf_map_show_fdinfo(struct seq_file *m, struct file *filp)
                   "value_size:\t%u\n"
                   "max_entries:\t%u\n"
                   "map_flags:\t%#x\n"
-                  "memlock:\t%llu\n",
+                  "memlock:\t%llu\n"
+                  "map_id:\t%u\n",
                   map->map_type,
                   map->key_size,
                   map->value_size,
                   map->max_entries,
                   map->map_flags,
-                  map->pages * 1ULL << PAGE_SHIFT);
+                  map->pages * 1ULL << PAGE_SHIFT,
+                  map->id);
 
        if (owner_prog_type) {
                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)
                   "prog_type:\t%u\n"
                   "prog_jited:\t%u\n"
                   "prog_tag:\t%s\n"
-                  "memlock:\t%llu\n",
+                  "memlock:\t%llu\n"
+                  "prog_id:\t%u\n",
                   prog->type,
                   prog->jited,
                   prog_tag,
-                  prog->pages * 1ULL << PAGE_SHIFT);
+                  prog->pages * 1ULL << PAGE_SHIFT,
+                  prog->aux->id);
 }
 #endif