diff options
| author | Antoine Tenart <atenart@kernel.org> | 2026-04-17 11:33:17 +0300 |
|---|---|---|
| committer | Andrii Nakryiko <andrii@kernel.org> | 2026-04-23 00:18:41 +0300 |
| commit | 0831b110eb4591e4ad8c5fd0d8f0f3f9979a5ff5 (patch) | |
| tree | 790e6989f6c4dfee58afd8ada416c135468739ed /include/linux/stackprotector.h | |
| parent | a20f97791a786203821570e84941ee7a67fd53e9 (diff) | |
| download | linux-0831b110eb4591e4ad8c5fd0d8f0f3f9979a5ff5.tar.xz | |
libbpf: Fix deduplication of typedef with base definitions
When deduplicating definitions for a module, typedef defined in the base
are not removed. This is because the hash used for base types differs
from the one used in the deduplication logic in btf_dedup_struct_type.
This was introduced by the referenced commit when moving the typedef
deduplication logic handling from btf_dedup_ref_type to
btf_dedup_struct_type, as this also changed the hash logic
(btf_hash_common to btf_hash_typedef).
This also impacts other types referencing those typedef (e.g. const). In
my test, the BTF section size of the openvswitch module went from 31KB
to 45KB.
Fixes: 3781413465df ("libbpf: Fix BTF dedup to support recursive typedef definitions").
Signed-off-by: Antoine Tenart <atenart@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Tested-by: Alan Maguire <alan.maguire@oracle.com>
Reviewed-by: Alan Maguire <alan.maguire@oracle.com>
Link: https://lore.kernel.org/bpf/20260417083319.32716-1-atenart@kernel.org
Diffstat (limited to 'include/linux/stackprotector.h')
0 files changed, 0 insertions, 0 deletions
