On 01/28/2019 07:01 PM, Jakub Kicinski wrote: > Prog arrays don't have 'owner_prog_type' and 'owner_jited' > fields in their fdinfo when they are created. Those fields > are set and reported when first program is checked for > compatibility by bpf_prog_array_compatible(). > > This means that bpftool cannot expect the fields to always > be there. Currently trying to show maps on a system with > an un-owned prog array leads to a crash: > > $ bpftool map show > 389: prog_array name tail_call_map flags 0x0 > Error: key 'owner_prog_type' not found in fdinfo > Error: key 'owner_jited' not found in fdinfo > key 4B value 4B max_entries 4 memlock 4096B > Segmentation fault (core dumped) > > We pass a NULL pointer to atoi(). > > Remove the assumption that fdinfo keys are always present. > Add missing validations and remove the p_err() calls which > may lead to broken JSON output as caller will not propagate > the failure. > > Fixes: 99a44bef5870 ("tools: bpftool: add owner_prog_type and owner_jited to > bpftool output") > Signed-off-by: Jakub Kicinski <jakub.kicin...@netronome.com> > Reviewed-by: Quentin Monnet <quentin.mon...@netronome.com>
Applied, thanks!