[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CANn89iJvTqGtSzyPFXTzomcG=ThyFC-jVcjcE9jBE0Tpd26C9g@mail.gmail.com>
Date: Thu, 9 May 2024 10:25:18 +0200
From: Eric Dumazet <edumazet@...gle.com>
To: kernel test robot <lkp@...el.com>
Cc: "David S . Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, oe-kbuild-all@...ts.linux.dev, netdev@...r.kernel.org,
eric.dumazet@...il.com, Steve Glendinning <steve.glendinning@...well.net>,
UNGLinuxDriver@...rochip.com
Subject: Re: [PATCH v2 net-next] net: usb: smsc95xx: stop lying about skb->truesize
On Thu, May 9, 2024 at 8:01 AM kernel test robot <lkp@...el.com> wrote:
>
> Hi Eric,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on net-next/main]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Eric-Dumazet/net-usb-smsc95xx-stop-lying-about-skb-truesize/20240508-155316
> base: net-next/main
> patch link: https://lore.kernel.org/r/20240508075159.1646031-1-edumazet%40google.com
> patch subject: [PATCH v2 net-next] net: usb: smsc95xx: stop lying about skb->truesize
> config: arc-randconfig-r132-20240509 (https://download.01.org/0day-ci/archive/20240509/202405091310.KvncIecx-lkp@intel.com/config)
> compiler: arceb-elf-gcc (GCC) 13.2.0
> reproduce: (https://download.01.org/0day-ci/archive/20240509/202405091310.KvncIecx-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@...el.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202405091310.KvncIecx-lkp@intel.com/
>
> sparse warnings: (new ones prefixed by >>)
> >> drivers/net/usb/smsc95xx.c:1815:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __wsum [usertype] csum @@ got unsigned short x @@
> drivers/net/usb/smsc95xx.c:1815:19: sparse: expected restricted __wsum [usertype] csum
> drivers/net/usb/smsc95xx.c:1815:19: sparse: got unsigned short x
> drivers/net/usb/smsc95xx.c: note: in included file (through include/net/checksum.h, include/linux/skbuff.h, include/net/net_namespace.h, ...):
> arch/arc/include/asm/checksum.h:27:26: sparse: sparse: restricted __wsum degrades to integer
> arch/arc/include/asm/checksum.h:27:36: sparse: sparse: restricted __wsum degrades to integer
> arch/arc/include/asm/checksum.h:29:11: sparse: sparse: bad assignment (-=) to restricted __wsum
> arch/arc/include/asm/checksum.h:30:16: sparse: sparse: restricted __wsum degrades to integer
> arch/arc/include/asm/checksum.h:30:18: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted __sum16 @@ got unsigned int @@
> arch/arc/include/asm/checksum.h:30:18: sparse: expected restricted __sum16
> arch/arc/include/asm/checksum.h:30:18: sparse: got unsigned int
>
> vim +1815 drivers/net/usb/smsc95xx.c
>
> 1810
> 1811 static void smsc95xx_rx_csum_offload(struct sk_buff *skb)
> 1812 {
> 1813 u16 *csum_ptr = (u16 *)(skb_tail_pointer(skb) - 2);
> 1814
> > 1815 skb->csum = get_unaligned(csum_ptr);
> 1816 skb->ip_summed = CHECKSUM_COMPLETE;
> 1817 skb_trim(skb, skb->len - 2); /* remove csum */
> 1818 }
> 1819
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
Please note this is not a new warning. Prior to my change we had :
drivers/net/usb/smsc95xx.c:1813:19: warning: incorrect type in
assignment (different base types)
drivers/net/usb/smsc95xx.c:1813:19: expected restricted __wsum
[usertype] csum
drivers/net/usb/smsc95xx.c:1813:19: got unsigned short [usertype]
I will submit a v3, to _also_ fix the sparse warning.
Powered by blists - more mailing lists