diff options
| author | Kumar Kartikeya Dwivedi <memxor@gmail.com> | 2026-07-19 17:36:29 +0200 |
|---|---|---|
| committer | Eduard Zingerman <eddyz87@gmail.com> | 2026-07-21 16:32:37 -0700 |
| commit | f08619f060468076e4acbdc10e0713af20d60e65 (patch) | |
| tree | ced85259164d871dc30a2830a87b1efbaef5ec59 /tools/perf/scripts/python/export-to-postgresql.py | |
| parent | 04e19012efaec2bfd8c3b37fd8a6c3f1fe731ffc (diff) | |
bpf: Preserve unique-field state across nested structs
btf_find_struct_field() initializes a fresh seen mask for every recursive
descent. Unique special fields in different levels of the same aggregate
therefore do not see one another. The duplicate fields can reach
btf_parse_fields(), where they trigger an invariant WARN_ON_ONCE(). A
crafted user BTF can consequently trigger the warning before map creation
checks capabilities.
Initialize the seen mask once in btf_find_field() and pass the same pointer
through struct, datasec, and nested-struct walks. This gives the entire field
traversal one shared uniqueness state.
Fixes: 64e8ee814819 ("bpf: look into the types of the fields of a struct type recursively.")
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://patch.msgid.link/20260719153634.2908692-3-memxor@gmail.com
Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions
