CC: [email protected]
CC: Intel Wired LAN <[email protected]>
CC: [email protected]
TO: Paolo Abeni <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git 
dev-queue
head:   813d4b9de3b79e60cb9f25b5f60de6ddd24f2d0b
commit: de5a1f3ce4c862150dc442530dba19e1d1dc6bc2 [41/144] net: gro: minor 
optimization for dev_gro_receive()
:::::: branch date: 5 hours ago
:::::: commit date: 3 days ago
config: nios2-randconfig-s031-20220207 
(https://download.01.org/0day-ci/archive/20220208/[email protected]/config)
compiler: nios2-linux-gcc (GCC) 11.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git/commit/?id=de5a1f3ce4c862150dc442530dba19e1d1dc6bc2
        git remote add tnguy-next-queue 
https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git
        git fetch --no-tags tnguy-next-queue dev-queue
        git checkout de5a1f3ce4c862150dc442530dba19e1d1dc6bc2
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=nios2 
SHELL=/bin/bash net/core/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)
   net/core/gro.c: note: in included file:
>> include/net/gro.h:58:1: sparse: sparse: directive in macro's argument list
   include/net/gro.h:59:1: sparse: sparse: directive in macro's argument list
   net/core/gro.c: note: in included file (through include/net/checksum.h, 
include/linux/skbuff.h, include/linux/ip.h, include/net/gro.h):
   arch/nios2/include/asm/checksum.h:30:24: sparse: sparse: restricted __wsum 
degrades to integer
--
   net/core/dev.c: note: in included file:
>> include/net/gro.h:58:1: sparse: sparse: directive in macro's argument list
   include/net/gro.h:59:1: sparse: sparse: directive in macro's argument list
   net/core/dev.c:3207:23: sparse: sparse: incorrect type in argument 4 
(different base types) @@     expected restricted __wsum [usertype] csum @@     
got unsigned int @@
   net/core/dev.c:3207:23: sparse:     expected restricted __wsum [usertype] 
csum
   net/core/dev.c:3207:23: sparse:     got unsigned int
   net/core/dev.c:3207:23: sparse: sparse: cast from restricted __wsum
   net/core/dev.c: note: in included file (through include/uapi/linux/swab.h, 
include/linux/swab.h, include/uapi/linux/byteorder/little_endian.h, ...):
   arch/nios2/include/uapi/asm/swab.h:25:24: sparse: sparse: too many arguments 
for function __builtin_custom_ini
   arch/nios2/include/uapi/asm/swab.h:25:24: sparse: sparse: too many arguments 
for function __builtin_custom_ini
   arch/nios2/include/uapi/asm/swab.h:25:24: sparse: sparse: too many arguments 
for function __builtin_custom_ini
   arch/nios2/include/uapi/asm/swab.h:25:24: sparse: sparse: too many arguments 
for function __builtin_custom_ini
   arch/nios2/include/uapi/asm/swab.h:25:24: sparse: sparse: too many arguments 
for function __builtin_custom_ini

vim +58 include/net/gro.h

e75ec151c1088c Alexander Lobakin 2021-03-18  12  
4721031c3559db Eric Dumazet      2021-11-15  13  struct napi_gro_cb {
4721031c3559db Eric Dumazet      2021-11-15  14         /* Virtual address of 
skb_shinfo(skb)->frags[0].page + offset. */
4721031c3559db Eric Dumazet      2021-11-15  15         void    *frag0;
4721031c3559db Eric Dumazet      2021-11-15  16  
4721031c3559db Eric Dumazet      2021-11-15  17         /* Length of frag0. */
4721031c3559db Eric Dumazet      2021-11-15  18         unsigned int frag0_len;
4721031c3559db Eric Dumazet      2021-11-15  19  
4721031c3559db Eric Dumazet      2021-11-15  20         /* This indicates where 
we are processing relative to skb->data. */
4721031c3559db Eric Dumazet      2021-11-15  21         int     data_offset;
4721031c3559db Eric Dumazet      2021-11-15  22  
4721031c3559db Eric Dumazet      2021-11-15  23         /* This is non-zero if 
the packet cannot be merged with the new skb. */
4721031c3559db Eric Dumazet      2021-11-15  24         u16     flush;
4721031c3559db Eric Dumazet      2021-11-15  25  
4721031c3559db Eric Dumazet      2021-11-15  26         /* Save the IP ID here 
and check when we get to the transport layer */
4721031c3559db Eric Dumazet      2021-11-15  27         u16     flush_id;
4721031c3559db Eric Dumazet      2021-11-15  28  
4721031c3559db Eric Dumazet      2021-11-15  29         /* Number of segments 
aggregated. */
4721031c3559db Eric Dumazet      2021-11-15  30         u16     count;
4721031c3559db Eric Dumazet      2021-11-15  31  
de5a1f3ce4c862 Paolo Abeni       2022-02-04  32         /* Used in 
ipv6_gro_receive() and foo-over-udp */
de5a1f3ce4c862 Paolo Abeni       2022-02-04  33         u16     proto;
4721031c3559db Eric Dumazet      2021-11-15  34  
4721031c3559db Eric Dumazet      2021-11-15  35         /* jiffies when first 
packet was created/queued */
4721031c3559db Eric Dumazet      2021-11-15  36         unsigned long age;
4721031c3559db Eric Dumazet      2021-11-15  37  
de5a1f3ce4c862 Paolo Abeni       2022-02-04  38         /* portion of the cb 
set to zero at every gro iteration */
de5a1f3ce4c862 Paolo Abeni       2022-02-04  39         struct_group(zeroed,
de5a1f3ce4c862 Paolo Abeni       2022-02-04  40  
de5a1f3ce4c862 Paolo Abeni       2022-02-04  41                 /* Start offset 
for remote checksum offload */
de5a1f3ce4c862 Paolo Abeni       2022-02-04  42                 u16     
gro_remcsum_start;
4721031c3559db Eric Dumazet      2021-11-15  43  
4721031c3559db Eric Dumazet      2021-11-15  44                 /* This is 
non-zero if the packet may be of the same flow. */
4721031c3559db Eric Dumazet      2021-11-15  45                 u8      
same_flow:1;
4721031c3559db Eric Dumazet      2021-11-15  46  
4721031c3559db Eric Dumazet      2021-11-15  47                 /* Used in 
tunnel GRO receive */
4721031c3559db Eric Dumazet      2021-11-15  48                 u8      
encap_mark:1;
4721031c3559db Eric Dumazet      2021-11-15  49  
4721031c3559db Eric Dumazet      2021-11-15  50                 /* GRO checksum 
is valid */
4721031c3559db Eric Dumazet      2021-11-15  51                 u8      
csum_valid:1;
4721031c3559db Eric Dumazet      2021-11-15  52  
4721031c3559db Eric Dumazet      2021-11-15  53                 /* Number of 
checksums via CHECKSUM_UNNECESSARY */
4721031c3559db Eric Dumazet      2021-11-15  54                 u8      
csum_cnt:3;
4721031c3559db Eric Dumazet      2021-11-15  55  
4721031c3559db Eric Dumazet      2021-11-15  56                 /* Free the 
skb? */
4721031c3559db Eric Dumazet      2021-11-15  57                 u8      free:2;
4721031c3559db Eric Dumazet      2021-11-15 @58  #define NAPI_GRO_FREE          
  1
4721031c3559db Eric Dumazet      2021-11-15  59  #define 
NAPI_GRO_FREE_STOLEN_HEAD 2
4721031c3559db Eric Dumazet      2021-11-15  60  
4721031c3559db Eric Dumazet      2021-11-15  61                 /* Used in 
foo-over-udp, set in udp[46]_gro_receive */
4721031c3559db Eric Dumazet      2021-11-15  62                 u8      
is_ipv6:1;
4721031c3559db Eric Dumazet      2021-11-15  63  
4721031c3559db Eric Dumazet      2021-11-15  64                 /* Used in GRE, 
set in fou/gue_gro_receive */
4721031c3559db Eric Dumazet      2021-11-15  65                 u8      
is_fou:1;
4721031c3559db Eric Dumazet      2021-11-15  66  
4721031c3559db Eric Dumazet      2021-11-15  67                 /* Used to 
determine if flush_id can be ignored */
4721031c3559db Eric Dumazet      2021-11-15  68                 u8      
is_atomic:1;
4721031c3559db Eric Dumazet      2021-11-15  69  
4721031c3559db Eric Dumazet      2021-11-15  70                 /* Number of 
gro_receive callbacks this packet already went through */
4721031c3559db Eric Dumazet      2021-11-15  71                 u8 
recursion_counter:4;
4721031c3559db Eric Dumazet      2021-11-15  72  
4721031c3559db Eric Dumazet      2021-11-15  73                 /* GRO is done 
by frag_list pointer chaining. */
4721031c3559db Eric Dumazet      2021-11-15  74                 u8      
is_flist:1;
de5a1f3ce4c862 Paolo Abeni       2022-02-04  75         );
4721031c3559db Eric Dumazet      2021-11-15  76  
4721031c3559db Eric Dumazet      2021-11-15  77         /* used to support 
CHECKSUM_COMPLETE for tunneling protocols */
4721031c3559db Eric Dumazet      2021-11-15  78         __wsum  csum;
4721031c3559db Eric Dumazet      2021-11-15  79  
4721031c3559db Eric Dumazet      2021-11-15  80         /* used in 
skb_gro_receive() slow path */
4721031c3559db Eric Dumazet      2021-11-15  81         struct sk_buff *last;
4721031c3559db Eric Dumazet      2021-11-15  82  };
4721031c3559db Eric Dumazet      2021-11-15  83  

:::::: The code at line 58 was first introduced by commit
:::::: 4721031c3559db8eae61df305f10c00099a7c1d0 net: move gro definitions to 
include/net/gro.h

:::::: TO: Eric Dumazet <[email protected]>
:::::: CC: David S. Miller <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to