mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-20 20:42:15 +00:00
Before this patch, btf_new() was liable to close an arbitrary FD 0 if
BTF parsing failed. This was because:
* btf->fd was initialized to 0 through the calloc()
* btf__free() (in the `done` label) closed any FDs >= 0
* btf->fd is left at 0 if parsing fails
This issue was discovered on a system using libbpf v0.3 (without
BTF_KIND_FLOAT support) but with a kernel that had BTF_KIND_FLOAT types
in BTF. Thus, parsing fails.
While this patch technically doesn't fix any issues b/c upstream libbpf
has BTF_KIND_FLOAT support, it'll help prevent issues in the future if
more BTF types are added. It also allow the fix to be backported to
older libbpf's.
Fixes:
|
||
|---|---|---|
| .. | ||
| api | ||
| bpf | ||
| lockdep | ||
| perf | ||
| subcmd | ||
| symbol | ||
| traceevent | ||
| argv_split.c | ||
| bitmap.c | ||
| ctype.c | ||
| find_bit.c | ||
| hweight.c | ||
| rbtree.c | ||
| str_error_r.c | ||
| string.c | ||
| vsprintf.c | ||
| zalloc.c | ||