mirror of
https://github.com/netdata/libbpf.git
synced 2026-04-05 08:09:07 +08:00
libbpf: Add explicit padding to btf_dump_emit_type_decl_opts
Similar to https://lore.kernel.org/bpf/20210313210920.1959628-2-andrii@kernel.org/ When DECLARE_LIBBPF_OPTS is used with inline field initialization, e.g: DECLARE_LIBBPF_OPTS(btf_dump_emit_type_decl_opts, opts, .field_name = var_ident, .indent_level = 2, .strip_mods = strip_mods, ); and compiled in debug mode, the compiler generates code which leaves the padding uninitialized and triggers errors within libbpf APIs which require strict zero initialization of OPTS structs. Adding anonymous padding field fixes the issue. Fixes: 9f81654eebe8 ("libbpf: Expose BTF-to-C type declaration emitting API") Suggested-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: KP Singh <kpsingh@kernel.org> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20210319192117.2310658-1-kpsingh@kernel.org
This commit is contained in:
committed by
Andrii Nakryiko
parent
b156979d19
commit
7b1f3e310b
@@ -176,6 +176,7 @@ struct btf_dump_emit_type_decl_opts {
|
|||||||
int indent_level;
|
int indent_level;
|
||||||
/* strip all the const/volatile/restrict mods */
|
/* strip all the const/volatile/restrict mods */
|
||||||
bool strip_mods;
|
bool strip_mods;
|
||||||
|
size_t :0;
|
||||||
};
|
};
|
||||||
#define btf_dump_emit_type_decl_opts__last_field strip_mods
|
#define btf_dump_emit_type_decl_opts__last_field strip_mods
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user