mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-31 08:28:13 +00:00
8c79b35693
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:
|
||
---|---|---|
.. | ||
bash-completion | ||
Documentation | ||
.gitignore | ||
btf_dumper.c | ||
cfg.c | ||
cfg.h | ||
cgroup.c | ||
common.c | ||
jit_disasm.c | ||
json_writer.c | ||
json_writer.h | ||
main.c | ||
main.h | ||
Makefile | ||
map.c | ||
map_perf_ring.c | ||
net.c | ||
netlink_dumper.c | ||
netlink_dumper.h | ||
perf.c | ||
prog.c | ||
tracelog.c | ||
xlated_dumper.c | ||
xlated_dumper.h |