Inclusion of the header linux/btf_ids.h relies on indirect inclusion of the header linux/types.h. Including it directly on the top level helps to avoid potential problems if linux/types.h hasn't been included before. The main motiviation to introduce this it is to avoid similar problems that was shown up in the bpf tool where GNU libc indirectly pulls linux/types.h causing compile error of the form: error: unknown type name 'u32' u32 cnt; ^~~ The bpf tool compile error was fixed at 62248b22d01e96a4d669cde0d7005bd51ebf9e76 Fixes: 9707ac4fe2f5 ("tools/resolve_btfids: Refactor set sorting with types from btf_ids.h") Signed-off-by: Dmitrii Bundin <dmitrii.bundin.a@xxxxxxxxx> --- Changes in v2: Add bpf-next to the subject Changes in v3: Add Fixes tag and bpf tool commit reference include/linux/btf_ids.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/btf_ids.h b/include/linux/btf_ids.h index e24aabfe8ecc..c0e3e1426a82 100644 --- a/include/linux/btf_ids.h +++ b/include/linux/btf_ids.h @@ -3,6 +3,8 @@ #ifndef _LINUX_BTF_IDS_H #define _LINUX_BTF_IDS_H +#include <linux/types.h> /* for u32 */ + struct btf_id_set { u32 cnt; u32 ids[]; -- 2.34.1