From: kernel test robot <lkp@intel.com>
To: Fernando Fernandez Mancera <fmancera@suse.de>,
netfilter-devel@vger.kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
coreteam@netfilter.org, pablo@netfilter.org, fw@strlen.de,
phil@nwl.cc, eric@regit.org,
Fernando Fernandez Mancera <fmancera@suse.de>,
Yu Junzhe <junzheyu1@gmail.com>
Subject: Re: [PATCH nf v2] netfilter: nft_reject: prevent unbounded recursion in output hooks
Date: Thu, 24 Sep 2026 06:06:15 +0800 [thread overview]
Message-ID: <202609240611.MRXjmn1k-lkp@intel.com> (raw)
In-Reply-To: <20260922092503.3238-1-fmancera@suse.de>
Hi Fernando,
kernel test robot noticed the following build errors:
[auto build test ERROR on netfilter-nf/main]
url: https://github.com/intel-lab-lkp/linux/commits/Fernando-Fernandez-Mancera/netfilter-nft_reject-prevent-unbounded-recursion-in-output-hooks/20260922-112503
base: https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git main
patch link: https://lore.kernel.org/r/20260922092503.3238-1-fmancera%40suse.de
patch subject: [PATCH nf v2] netfilter: nft_reject: prevent unbounded recursion in output hooks
config: i386-defconfig (https://download.01.org/0day-ci/archive/20260924/202609240611.MRXjmn1k-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260924/202609240611.MRXjmn1k-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609240611.MRXjmn1k-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:317:16: note: expanded from macro '__pcpu_size_call_return'
317 | TYPEOF_UNQUAL(variable) pscr_ret__; \
| ^~~~~~~~
include/linux/compiler.h:237:47: note: expanded from macro 'TYPEOF_UNQUAL'
237 | # define TYPEOF_UNQUAL(exp) __typeof_unqual__(exp)
| ^~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:318:22: note: expanded from macro '__pcpu_size_call_return'
318 | __verify_pcpu_ptr(&(variable)); \
| ^~~~~~~~
include/linux/percpu-defs.h:216:47: note: expanded from macro '__verify_pcpu_ptr'
216 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
| ^~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:319:16: note: expanded from macro '__pcpu_size_call_return'
319 | switch(sizeof(variable)) { \
| ^~~~~~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:320:31: note: expanded from macro '__pcpu_size_call_return'
320 | case 1: pscr_ret__ = stem##1(variable); break; \
| ^~~~~~~~
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
arch/x86/include/asm/percpu.h:94:45: note: expanded from macro '__my_cpu_ptr'
94 | # define __my_cpu_ptr(ptr) (__my_cpu_type(*(ptr))*)(__force uintptr_t)(ptr)
| ^~~
arch/x86/include/asm/percpu.h:93:36: note: expanded from macro '__my_cpu_type'
93 | # define __my_cpu_type(var) typeof(var) __percpu_seg_override
| ^~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:320:31: note: expanded from macro '__pcpu_size_call_return'
320 | case 1: pscr_ret__ = stem##1(variable); break; \
| ^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
arch/x86/include/asm/percpu.h:95:45: note: expanded from macro '__my_cpu_var'
95 | # define __my_cpu_var(var) (*__my_cpu_ptr(&(var)))
| ^~~
arch/x86/include/asm/percpu.h:94:72: note: expanded from macro '__my_cpu_ptr'
94 | # define __my_cpu_ptr(ptr) (__my_cpu_type(*(ptr))*)(__force uintptr_t)(ptr)
| ^~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:320:31: note: expanded from macro '__pcpu_size_call_return'
320 | case 1: pscr_ret__ = stem##1(variable); break; \
| ^~~~~~~~
arch/x86/include/asm/percpu.h:450:52: note: expanded from macro 'raw_cpu_read_1'
450 | #define raw_cpu_read_1(pcp) __raw_cpu_read(1, , pcp)
| ^~~
arch/x86/include/asm/percpu.h:156:10: note: expanded from macro '__raw_cpu_read'
156 | (typeof(_var))(unsigned long) pfo_val__; \
| ^~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:321:31: note: expanded from macro '__pcpu_size_call_return'
321 | case 2: pscr_ret__ = stem##2(variable); break; \
| ^~~~~~~~
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
arch/x86/include/asm/percpu.h:94:45: note: expanded from macro '__my_cpu_ptr'
94 | # define __my_cpu_ptr(ptr) (__my_cpu_type(*(ptr))*)(__force uintptr_t)(ptr)
| ^~~
arch/x86/include/asm/percpu.h:93:36: note: expanded from macro '__my_cpu_type'
93 | # define __my_cpu_type(var) typeof(var) __percpu_seg_override
| ^~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:321:31: note: expanded from macro '__pcpu_size_call_return'
321 | case 2: pscr_ret__ = stem##2(variable); break; \
| ^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
arch/x86/include/asm/percpu.h:95:45: note: expanded from macro '__my_cpu_var'
95 | # define __my_cpu_var(var) (*__my_cpu_ptr(&(var)))
| ^~~
arch/x86/include/asm/percpu.h:94:72: note: expanded from macro '__my_cpu_ptr'
94 | # define __my_cpu_ptr(ptr) (__my_cpu_type(*(ptr))*)(__force uintptr_t)(ptr)
| ^~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:321:31: note: expanded from macro '__pcpu_size_call_return'
321 | case 2: pscr_ret__ = stem##2(variable); break; \
| ^~~~~~~~
arch/x86/include/asm/percpu.h:451:52: note: expanded from macro 'raw_cpu_read_2'
451 | #define raw_cpu_read_2(pcp) __raw_cpu_read(2, , pcp)
| ^~~
arch/x86/include/asm/percpu.h:156:10: note: expanded from macro '__raw_cpu_read'
156 | (typeof(_var))(unsigned long) pfo_val__; \
| ^~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:322:31: note: expanded from macro '__pcpu_size_call_return'
322 | case 4: pscr_ret__ = stem##4(variable); break; \
| ^~~~~~~~
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
arch/x86/include/asm/percpu.h:94:45: note: expanded from macro '__my_cpu_ptr'
94 | # define __my_cpu_ptr(ptr) (__my_cpu_type(*(ptr))*)(__force uintptr_t)(ptr)
| ^~~
arch/x86/include/asm/percpu.h:93:36: note: expanded from macro '__my_cpu_type'
93 | # define __my_cpu_type(var) typeof(var) __percpu_seg_override
| ^~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:322:31: note: expanded from macro '__pcpu_size_call_return'
322 | case 4: pscr_ret__ = stem##4(variable); break; \
| ^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
arch/x86/include/asm/percpu.h:95:45: note: expanded from macro '__my_cpu_var'
95 | # define __my_cpu_var(var) (*__my_cpu_ptr(&(var)))
| ^~~
arch/x86/include/asm/percpu.h:94:72: note: expanded from macro '__my_cpu_ptr'
94 | # define __my_cpu_ptr(ptr) (__my_cpu_type(*(ptr))*)(__force uintptr_t)(ptr)
| ^~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:322:31: note: expanded from macro '__pcpu_size_call_return'
322 | case 4: pscr_ret__ = stem##4(variable); break; \
| ^~~~~~~~
arch/x86/include/asm/percpu.h:452:52: note: expanded from macro 'raw_cpu_read_4'
452 | #define raw_cpu_read_4(pcp) __raw_cpu_read(4, , pcp)
| ^~~
arch/x86/include/asm/percpu.h:156:10: note: expanded from macro '__raw_cpu_read'
156 | (typeof(_var))(unsigned long) pfo_val__; \
| ^~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:323:31: note: expanded from macro '__pcpu_size_call_return'
323 | case 8: pscr_ret__ = stem##8(variable); break; \
| ^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:240:20: note: expanded from macro 'raw_cpu_ptr'
240 | __verify_pcpu_ptr(ptr); \
| ^~~
include/linux/percpu-defs.h:216:47: note: expanded from macro '__verify_pcpu_ptr'
216 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
| ^~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:323:31: note: expanded from macro '__pcpu_size_call_return'
323 | case 8: pscr_ret__ = stem##8(variable); break; \
| ^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:241:19: note: expanded from macro 'raw_cpu_ptr'
241 | arch_raw_cpu_ptr(ptr); \
| ^~~
arch/x86/include/asm/percpu.h:66:39: note: expanded from macro 'arch_raw_cpu_ptr'
66 | tcp_ptr__ += (__force unsigned long)(_ptr); \
| ^~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
>> include/net/netfilter/nf_recursion.h:12:52: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
12 | return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:432:15: note: expanded from macro '__this_cpu_read'
432 | raw_cpu_read(pcp); \
| ^~~
include/linux/percpu-defs.h:407:67: note: expanded from macro 'raw_cpu_read'
407 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
| ^~~
include/linux/percpu-defs.h:323:31: note: expanded from macro '__pcpu_size_call_return'
323 | case 8: pscr_ret__ = stem##8(variable); break; \
| ^~~~~~~~
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
arch/x86/include/asm/percpu.h:67:19: note: expanded from macro 'arch_raw_cpu_ptr'
67 | (TYPEOF_UNQUAL(*(_ptr)) __force __kernel *)tcp_ptr__; \
| ^~~~
include/linux/compiler.h:237:47: note: expanded from macro 'TYPEOF_UNQUAL'
237 | # define TYPEOF_UNQUAL(exp) __typeof_unqual__(exp)
| ^~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
include/net/netfilter/nf_recursion.h:18:35: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
18 | __this_cpu_inc(softnet_data.xmit.nf_dup_skb_recursion);
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:484:45: note: expanded from macro '__this_cpu_inc'
484 | #define __this_cpu_inc(pcp) __this_cpu_add(pcp, 1)
| ^~~
include/linux/percpu-defs.h:444:14: note: expanded from macro '__this_cpu_add'
444 | raw_cpu_add(pcp, val); \
| ^~~
include/linux/percpu-defs.h:409:63: note: expanded from macro 'raw_cpu_add'
409 | #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val)
| ^~~
include/linux/percpu-defs.h:362:22: note: expanded from macro '__pcpu_size_call'
362 | __verify_pcpu_ptr(&(variable)); \
| ^~~~~~~~
include/linux/percpu-defs.h:216:47: note: expanded from macro '__verify_pcpu_ptr'
216 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
| ^~~
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
include/net/netfilter/nf_recursion.h:18:35: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
18 | __this_cpu_inc(softnet_data.xmit.nf_dup_skb_recursion);
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:484:45: note: expanded from macro '__this_cpu_inc'
484 | #define __this_cpu_inc(pcp) __this_cpu_add(pcp, 1)
| ^~~
include/linux/percpu-defs.h:444:14: note: expanded from macro '__this_cpu_add'
444 | raw_cpu_add(pcp, val); \
| ^~~
include/linux/percpu-defs.h:409:63: note: expanded from macro 'raw_cpu_add'
409 | #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val)
| ^~~
include/linux/percpu-defs.h:363:16: note: expanded from macro '__pcpu_size_call'
363 | switch(sizeof(variable)) { \
| ^~~~~~~~
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
include/net/netfilter/nf_recursion.h:18:35: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
18 | __this_cpu_inc(softnet_data.xmit.nf_dup_skb_recursion);
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:484:45: note: expanded from macro '__this_cpu_inc'
484 | #define __this_cpu_inc(pcp) __this_cpu_add(pcp, 1)
| ^~~
include/linux/percpu-defs.h:444:14: note: expanded from macro '__this_cpu_add'
444 | raw_cpu_add(pcp, val); \
| ^~~
include/linux/percpu-defs.h:409:63: note: expanded from macro 'raw_cpu_add'
409 | #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val)
| ^~~
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
arch/x86/include/asm/percpu.h:468:56: note: expanded from macro 'raw_cpu_add_1'
468 | #define raw_cpu_add_1(pcp, val) percpu_add_op(1, , (pcp), val)
| ^~~
arch/x86/include/asm/percpu.h:226:17: note: expanded from macro 'percpu_add_op'
226 | TYPEOF_UNQUAL(var) pao_tmp__; \
| ^~~
include/linux/compiler.h:237:47: note: expanded from macro 'TYPEOF_UNQUAL'
237 | # define TYPEOF_UNQUAL(exp) __typeof_unqual__(exp)
| ^~~
In file included from net/ipv4/netfilter/nf_reject_ipv4.c:13:
include/net/netfilter/nf_recursion.h:18:35: error: no member named 'nf_dup_skb_recursion' in 'struct netdev_xmit'
18 | __this_cpu_inc(softnet_data.xmit.nf_dup_skb_recursion);
| ~~~~~~~~~~~~~~~~~ ^
include/linux/percpu-defs.h:484:45: note: expanded from macro '__this_cpu_inc'
484 | #define __this_cpu_inc(pcp) __this_cpu_add(pcp, 1)
| ^~~
include/linux/percpu-defs.h:444:14: note: expanded from macro '__this_cpu_add'
444 | raw_cpu_add(pcp, val); \
| ^~~
include/linux/percpu-defs.h:409:63: note: expanded from macro 'raw_cpu_add'
409 | #define raw_cpu_add(pcp, val) __pcpu_size_call(raw_cpu_add_, pcp, val)
| ^~~
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
arch/x86/include/asm/percpu.h:95:45: note: expanded from macro '__my_cpu_var'
95 | # define __my_cpu_var(var) (*__my_cpu_ptr(&(var)))
| ^~~
arch/x86/include/asm/percpu.h:94:45: note: expanded from macro '__my_cpu_ptr'
94 | # define __my_cpu_ptr(ptr) (__my_cpu_type(*(ptr))*)(__force uintptr_t)(ptr)
| ^~~
arch/x86/include/asm/percpu.h:93:36: note: expanded from macro '__my_cpu_type'
vim +12 include/net/netfilter/nf_recursion.h
8
9 #ifndef CONFIG_PREEMPT_RT
10 static inline bool nf_dev_xmit_recursion(void)
11 {
> 12 return unlikely(__this_cpu_read(softnet_data.xmit.nf_dup_skb_recursion) >
13 NF_RECURSION_LIMIT);
14 }
15
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2026-09-23 22:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-22 9:25 [PATCH nf v2] netfilter: nft_reject: prevent unbounded recursion in output hooks Fernando Fernandez Mancera
2026-09-22 10:25 ` Florian Westphal
2026-09-23 21:00 ` kernel test robot
2026-09-23 22:06 ` kernel test robot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202609240611.MRXjmn1k-lkp@intel.com \
--to=lkp@intel.com \
--cc=coreteam@netfilter.org \
--cc=eric@regit.org \
--cc=fmancera@suse.de \
--cc=fw@strlen.de \
--cc=junzheyu1@gmail.com \
--cc=llvm@lists.linux.dev \
--cc=netfilter-devel@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pablo@netfilter.org \
--cc=phil@nwl.cc \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.