]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tools/sched_ext: Add -fms-extensions to bpf build flags
authorZhao Mengmeng <zhaomengmeng@kylinos.cn>
Tue, 3 Mar 2026 07:23:15 +0000 (15:23 +0800)
committerTejun Heo <tj@kernel.org>
Tue, 3 Mar 2026 08:00:23 +0000 (22:00 -1000)
Similar to commit 835a50753579 ("selftests/bpf: Add -fms-extensions to
bpf build flags") and commit 639f58a0f480 ("bpftool: Fix build warnings
due to MS extensions")

The kernel is now built with -fms-extensions, therefore
generated vmlinux.h contains types like:
struct aes_key {
        struct aes_enckey;
        union aes_invkey_arch inv_k;
};

struct ns_common {
...
        union {
                struct ns_tree;
                struct callback_head ns_rcu;
        };
};

Which raise warning like below when building scx scheduler:

tools/sched_ext/build/include/vmlinux.h:50533:3: warning:
declaration does not declare anything [-Wmissing-declarations]
 50533 |                 struct ns_tree;
       |                 ^
Fix it by using -fms-extensions and -Wno-microsoft-anon-tag flags
to build bpf programs that #include "vmlinux.h"

Signed-off-by: Zhao Mengmeng <zhaomengmeng@kylinos.cn>
Reviewed-by: Andrea Righi <arighi@nvidia.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
tools/sched_ext/Makefile

index 47ad7444677e6da3bd68d3a90ed1d97e37f2525b..21554f0896923fa9c2e5b98c85d65d964152e592 100644 (file)
@@ -122,6 +122,8 @@ BPF_CFLAGS = -g -D__TARGET_ARCH_$(SRCARCH)                                  \
             -I../../include                                                    \
             $(call get_sys_includes,$(CLANG))                                  \
             -Wall -Wno-compare-distinct-pointer-types                          \
+            -Wno-microsoft-anon-tag                                            \
+            -fms-extensions                                                    \
             -O2 -mcpu=v3
 
 # sort removes libbpf duplicates when not cross-building