summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNathan Chancellor <nathan@kernel.org>2026-02-25 15:07:17 -0700
committerNathan Chancellor <nathan@kernel.org>2026-02-26 11:53:05 -0700
commitd2395bb194ef212b36521ec4fa85e38b45675acb (patch)
tree3e6deb0d9f9e8d90ab3e2e480e8e853dc25bd22e /include
parent8678591b47469fe16357234efef9b260317b8be4 (diff)
genksyms: Fix parsing a declarator with a preceding attribute
After commit 07919126ecfc ("netfilter: annotate NAT helper hook pointers with __rcu"), genksyms fails to parse the __rcu annotation when building with CONFIG_DEBUG_INFO_BTF=y, CONFIG_PAHOLE_HAS_BTF_TAG=y, and a version of clang that supports btf_type_tag. $ clang --version | head -1 ClangBuiltLinux clang version 22.1.0 (https://github.com/llvm/llvm-project.git 4434dabb69916856b824f68a64b029c67175e532) $ cat kernel/configs/repro.config CONFIG_BPF_SYSCALL=y CONFIG_MODVERSIONS=y # CONFIG_DEBUG_INFO_NONE is not set CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DEBUG_INFO_BTF=y $ make -skj"$(nproc)" ARCH=x86_64 LLVM=1 mrproper defconfig repro.config all WARNING: modpost: EXPORT symbol "nf_nat_ftp_hook" [vmlinux] version generation failed, symbol will not be versioned. ... WARNING: modpost: EXPORT symbol "nf_nat_irc_hook" [vmlinux] version generation failed, symbol will not be versioned. ... genksyms falls over parsing the __rcu attribute in the declarator: # Kernel reproducer $ make -skj"$(nproc)" ARCH=x86_64 KCFLAGS=-D__GENKSYMS__ LLVM=1 net/netfilter/nf_conntrack_ftp.i $ scripts/genksyms/genksyms -w <net/netfilter/nf_conntrack_ftp.i &| rg 'syntax error' include/linux/netfilter/nf_conntrack_ftp.h:29: syntax error net/netfilter/nf_conntrack_ftp.c:46: syntax error # Trivial reproducer $ cat test.c int (*func)(void *foo, int bar); int (__attribute__((btf_type_tag("rcu"))) *func_with_attr)(void *foo, int bar); $ scripts/genksyms/genksyms -w <test.c <stdin>:2: syntax error Optionally allow an attribute to precede a declarator to resolve this error and properly generate symbol versions. Fixes: 07919126ecfc ("netfilter: annotate NAT helper hook pointers with __rcu") Link: https://patch.msgid.link/20260225-genksyms-fix-attribute-declarator-v1-1-1b21478663fb@kernel.org Tested-by: Nicolas Schier <nsc@kernel.org> Reviewed-by: Nicolas Schier <nsc@kernel.org> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions