From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH net-next 6/6] net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum header
Date: Fri, 05 Mar 2021 14:22:55 +0800 [thread overview]
Message-ID: <202103051434.KSZRphLE-lkp@intel.com> (raw)
In-Reply-To: <20210304223431.15045-7-elder@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 4583 bytes --]
Hi Alex,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/Alex-Elder/net-qualcomm-rmnet-stop-using-C-bit-fields/20210305-064128
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git d310ec03a34e92a77302edb804f7d68ee4f01ba0
config: riscv-randconfig-s031-20210305 (attached as .config)
compiler: riscv64-linux-gcc (GCC) 9.3.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.3-245-gacc5c298-dirty
# https://github.com/0day-ci/linux/commit/dba638b67dff001926855ed81e35e52bd54880ea
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alex-Elder/net-qualcomm-rmnet-stop-using-C-bit-fields/20210305-064128
git checkout dba638b67dff001926855ed81e35e52bd54880ea
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"sparse warnings: (new ones prefixed by >>)"
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:208:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 @@
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:208:13: sparse: expected unsigned short [usertype] val
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:208:13: sparse: got restricted __be16
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:210:21: sparse: sparse: invalid assignment: |=
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:210:21: sparse: left side has type unsigned short
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:210:21: sparse: right side has type restricted __be16
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:211:13: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:211:13: sparse: left side has type unsigned short
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:211:13: sparse: right side has type restricted __be16
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:247:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 @@
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:247:13: sparse: expected unsigned short [usertype] val
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:247:13: sparse: got restricted __be16
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:249:21: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:249:21: sparse: left side has type unsigned short
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:249:21: sparse: right side has type restricted __be16
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:250:13: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:250:13: sparse: left side has type unsigned short
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:250:13: sparse: right side has type restricted __be16
vim +208 drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c
195
196 static void
197 rmnet_map_ipv4_ul_csum_header(void *iphdr,
198 struct rmnet_map_ul_csum_header *ul_header,
199 struct sk_buff *skb)
200 {
201 struct iphdr *ip4h = iphdr;
202 u16 offset;
203 u16 val;
204
205 offset = skb_transport_header(skb) - (unsigned char *)iphdr;
206 ul_header->csum_start_offset = htons(offset);
207
> 208 val = be16_encode_bits(1, MAP_CSUM_UL_ENABLED_FMASK);
209 if (ip4h->protocol == IPPROTO_UDP)
> 210 val |= be16_encode_bits(1, MAP_CSUM_UL_UDP_FMASK);
211 val |= be16_encode_bits(skb->csum_offset, MAP_CSUM_UL_OFFSET_FMASK);
212
213 ul_header->csum_info = htons(val);
214
215 skb->ip_summed = CHECKSUM_NONE;
216
217 rmnet_map_complement_ipv4_txporthdr_csum_field(iphdr);
218 }
219
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 42213 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Alex Elder <elder@linaro.org>,
subashab@codeaurora.org, stranche@codeaurora.org,
davem@davemloft.net, kuba@kernel.org
Cc: kbuild-all@01.org, sharathv@codeaurora.org,
bjorn.andersson@linaro.org, evgreen@chromium.org,
cpratapa@codeaurora.org, elder@kernel.org,
netdev@vger.kernel.org
Subject: Re: [PATCH net-next 6/6] net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum header
Date: Fri, 5 Mar 2021 14:22:55 +0800 [thread overview]
Message-ID: <202103051434.KSZRphLE-lkp@intel.com> (raw)
In-Reply-To: <20210304223431.15045-7-elder@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 4504 bytes --]
Hi Alex,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/Alex-Elder/net-qualcomm-rmnet-stop-using-C-bit-fields/20210305-064128
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git d310ec03a34e92a77302edb804f7d68ee4f01ba0
config: riscv-randconfig-s031-20210305 (attached as .config)
compiler: riscv64-linux-gcc (GCC) 9.3.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.3-245-gacc5c298-dirty
# https://github.com/0day-ci/linux/commit/dba638b67dff001926855ed81e35e52bd54880ea
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alex-Elder/net-qualcomm-rmnet-stop-using-C-bit-fields/20210305-064128
git checkout dba638b67dff001926855ed81e35e52bd54880ea
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"sparse warnings: (new ones prefixed by >>)"
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:208:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 @@
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:208:13: sparse: expected unsigned short [usertype] val
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:208:13: sparse: got restricted __be16
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:210:21: sparse: sparse: invalid assignment: |=
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:210:21: sparse: left side has type unsigned short
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:210:21: sparse: right side has type restricted __be16
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:211:13: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:211:13: sparse: left side has type unsigned short
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:211:13: sparse: right side has type restricted __be16
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:247:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 @@
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:247:13: sparse: expected unsigned short [usertype] val
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:247:13: sparse: got restricted __be16
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:249:21: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:249:21: sparse: left side has type unsigned short
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:249:21: sparse: right side has type restricted __be16
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:250:13: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:250:13: sparse: left side has type unsigned short
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:250:13: sparse: right side has type restricted __be16
vim +208 drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c
195
196 static void
197 rmnet_map_ipv4_ul_csum_header(void *iphdr,
198 struct rmnet_map_ul_csum_header *ul_header,
199 struct sk_buff *skb)
200 {
201 struct iphdr *ip4h = iphdr;
202 u16 offset;
203 u16 val;
204
205 offset = skb_transport_header(skb) - (unsigned char *)iphdr;
206 ul_header->csum_start_offset = htons(offset);
207
> 208 val = be16_encode_bits(1, MAP_CSUM_UL_ENABLED_FMASK);
209 if (ip4h->protocol == IPPROTO_UDP)
> 210 val |= be16_encode_bits(1, MAP_CSUM_UL_UDP_FMASK);
211 val |= be16_encode_bits(skb->csum_offset, MAP_CSUM_UL_OFFSET_FMASK);
212
213 ul_header->csum_info = htons(val);
214
215 skb->ip_summed = CHECKSUM_NONE;
216
217 rmnet_map_complement_ipv4_txporthdr_csum_field(iphdr);
218 }
219
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 42213 bytes --]
next prev parent reply other threads:[~2021-03-05 6:22 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-04 22:34 [PATCH net-next 0/6] net: qualcomm: rmnet: stop using C bit-fields Alex Elder
2021-03-04 22:34 ` [PATCH net-next 1/6] net: qualcomm: rmnet: mark trailer field endianness Alex Elder
2021-03-05 4:03 ` Bjorn Andersson
2021-03-04 22:34 ` [PATCH net-next 2/6] net: qualcomm: rmnet: simplify some byte order logic Alex Elder
2021-03-05 4:07 ` Bjorn Andersson
2021-03-05 21:02 ` Alex Elder
2021-03-04 22:34 ` [PATCH net-next 3/6] net: qualcomm: rmnet: kill RMNET_MAP_GET_*() accessor macros Alex Elder
2021-03-05 4:16 ` Bjorn Andersson
2021-03-04 22:34 ` [PATCH net-next 4/6] net: qualcomm: rmnet: use field masks instead of C bit-fields Alex Elder
2021-03-05 4:50 ` Bjorn Andersson
2021-03-04 22:34 ` [PATCH net-next 5/6] net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum trailer Alex Elder
2021-03-05 4:54 ` Bjorn Andersson
2021-03-04 22:34 ` [PATCH net-next 6/6] net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum header Alex Elder
2021-03-05 5:26 ` Bjorn Andersson
2021-03-05 20:48 ` Alex Elder
2021-03-05 6:22 ` kernel test robot [this message]
2021-03-05 6:22 ` kernel test robot
2021-03-05 12:59 ` Alex Elder
2021-03-05 12:59 ` Alex Elder
2021-03-04 22:43 ` [PATCH net-next 0/6] net: qualcomm: rmnet: stop using C bit-fields Alex Elder
2021-03-05 3:44 ` subashab
2021-03-05 4:51 ` Alex Elder
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=202103051434.KSZRphLE-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/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.