mirror of
https://github.com/torvalds/linux.git
synced 2025-11-07 20:19:47 +02:00
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 | ||