Re: [PATCH bpf-next] bpf: print a little more info about maps via cat /sys/fs/bpf/pinned_name

From: Alexei Starovoitov
Date: Mon May 23 2022 - 15:40:37 EST


On Sat, May 21, 2022 at 12:57 AM Maciej Żenczykowski
<zenczykowski@xxxxxxxxx> wrote:
>
> From: Maciej Żenczykowski <maze@xxxxxxxxxx>
>
> While this information can be fetched via bpftool,
> the cli tool itself isn't always available on more limited systems.
>
> From the information printed particularly the 'id' is useful since
> when combined with /proc/pid/fd/X and /proc/pid/fdinfo/X it allows
> tracking down which bpf maps a process has open (which can be
> useful for tracking down fd leaks).
>
> Signed-off-by: Maciej Żenczykowski <maze@xxxxxxxxxx>
> ---
> kernel/bpf/inode.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/kernel/bpf/inode.c b/kernel/bpf/inode.c
> index 4f841e16779e..784266e258fe 100644
> --- a/kernel/bpf/inode.c
> +++ b/kernel/bpf/inode.c
> @@ -257,6 +257,9 @@ static int map_seq_show(struct seq_file *m, void *v)
> if (unlikely(v == SEQ_START_TOKEN)) {
> seq_puts(m, "# WARNING!! The output is for debug purpose only\n");
> seq_puts(m, "# WARNING!! The output format will change\n");
> + seq_printf(m, "# type: %d, key_size: %d, value_size: %d, max_entries: %d, id: %d\n",
> + map->map_type, map->key_size, map->value_size, map->max_entries,
> + map->id);

Maybe use cat /sys/fs/bpf/maps.debug instead?
It prints map id.