On Mon, 28 May 2018 02:43:37 +0200
Daniel Borkmann <dan...@iogearbox.net> wrote:

> 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 <dan...@iogearbox.net>
> Acked-by: Alexei Starovoitov <a...@kernel.org>
> ---

AFAICR iproute uses this proc fdinfo, for pinned maps.  Have you tested
if this change is handled gracefully by tc ?

>  kernel/bpf/syscall.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
> index 388d4fe..79341e8 100644
> --- a/kernel/bpf/syscall.c
> +++ b/kernel/bpf/syscall.c
> @@ -326,13 +326,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",
> @@ -1069,11 +1071,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
>  



-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer

Reply via email to