Re: [PATCH 3/3] tools bpftool: Display license GPL compatible in prog show/list

From: Jiri Olsa
Date: Thu Apr 26 2018 - 03:39:15 EST


On Wed, Apr 25, 2018 at 11:14:30PM +0200, Daniel Borkmann wrote:
> On 04/25/2018 11:03 PM, Jakub Kicinski wrote:
> > On Wed, 25 Apr 2018 19:41:08 +0200, Jiri Olsa wrote:
> >> @@ -295,6 +297,7 @@ static void print_prog_plain(struct bpf_prog_info *info, int fd)
> >> printf("tag ");
> >> fprint_hex(stdout, info->tag, BPF_TAG_SIZE, "");
> >> print_dev_plain(info->ifindex, info->netns_dev, info->netns_ino);
> >> + printf(" license GPL %scompatible", info->gpl_compatible ? "" : "NON ");
> >
> > 3 nit picks:
> >
> > Other "fields" are separated by two spaces between each other:
> >
> > 4: kprobe name func_begin tag 57cd311f2e27366b license GPL compatible
> > ^^ ^^ X
> > loaded_at Apr 25/11:20 uid 0
> > ^^
> > xlated 16B not jited memlock 4096B
> > ^^ ^^
> >
> > Could you also update the example outputs in the man page:
> >
> > tools/bpf/bpftool/Documentation/bpftool-prog.rst
> >
> > Sorry about the bike shedding but I would also vote for:
> >
> > "[not] GPL compatible"
> >
> > rather than
> >
> > "license GPL [NON] compatible"
> >
> > for brevity..
>
> While we're at it, can we also squeeze this whole thing a bit? Feels like
> huge string wasted for very little information compared to the rest of the
> dump. Just append the string "gpl" at the end of the line if info->gpl_compatible
> is set, otherwise just add nothing. This also allows to naturally grep
> for it e.g. `bpftool p | grep gpl` if you need a quick summary.

that's fine with me.. so 'gpl' in here:

5: tracepoint name func tag 57cd311f2e27366b gpl
loaded_at Apr 26/09:37 uid 0
xlated 16B not jited memlock 4096B

and keeping tyhe whole name in json output:

[{
"id": 5,
"type": "tracepoint",
"name": "func",
"tag": "57cd311f2e27366b",
"gpl_compatible": true,
"loaded_at": "Apr 26/09:37",
"uid": 0,
"bytes_xlated": 16,
"jited": false,
"bytes_memlock": 4096
}
]

how about that?

thanks,
jirka