Subject: Re: [PATCH net-next v5 11/13] net: replace page_frag with page_frag_cache

From: Simon Horman <[email-masked]>
Date: Fri, 31 May 2024 11:53:39 +0100

On Tue, May 28, 2024 at 08:56:01PM +0800, Yunsheng Lin wrote:
> Use the newly introduced prepare/probe/commit API to
> replace page_frag with page_frag_cache for sk_page_frag().
> 
> CC: Alexander Duyck <[email-masked]>
> Signed-off-by: Yunsheng Lin <[email-masked]>
> Acked-by: Mat Martineau <[email-masked]>

Hi Yunsheng Lin,

Unfortunately this seems to break W=1 allmodconfig builds (on x8_64).
I'm suspecting this relates to some missing includes, but I am unsure.

With clang-18 I see:

In file included from net/ipv4/ip_output.c:46:
In file included from ./include/linux/uaccess.h:8:
In file included from ./include/linux/sched.h:48:
./include/linux/page_frag_cache.h:176:2: error: call to undeclared function 'VM_BUG_ON'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  176 |         VM_BUG_ON(fragsz > nc->remaining || !nc->pagecnt_bias);

...

In file included from net/ipv4/ip_output.c:47:
In file included from ./include/linux/module.h:19:
In file included from ./include/linux/elf.h:6:
In file included from ./arch/x86/include/asm/elf.h:10:
In file included from ./arch/x86/include/asm/ia32.h:7:
In file included from ./include/linux/compat.h:17:
In file included from ./include/linux/fs.h:33:
In file included from ./include/linux/percpu-rwsem.h:7:
In file included from ./include/linux/rcuwait.h:6:
In file included from ./include/linux/sched/signal.h:6:
./include/linux/signal.h:98:11: warning: array index 3 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
   98 |                 return (set->sig[3] | set->sig[2] |
      |                         ^        ~
./arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
   24 |         unsigned long sig[_NSIG_WORDS];
      |         ^

...