From: kernel test robot <lkp@intel.com>
To: David Howells <dhowells@redhat.com>
Cc: kbuild-all@lists.01.org,
GNU/Weeb Mailing List <gwml@vger.gnuweeb.org>,
linux-kernel@vger.kernel.org
Subject: [ammarfaizi2-block:dhowells/linux-fs/rxrpc-ringless 35/35] net/rxrpc/recvmsg.c:311:25: sparse: sparse: cast from restricted __be16
Date: Fri, 13 May 2022 16:59:28 +0800 [thread overview]
Message-ID: <202205131657.SjbSnATI-lkp@intel.com> (raw)
tree: https://github.com/ammarfaizi2/linux-block dhowells/linux-fs/rxrpc-ringless
head: 36075641f704b02b4bcaee01d904a06676b32199
commit: 36075641f704b02b4bcaee01d904a06676b32199 [35/35] rxrpc: Don't split up received jumbo packets
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20220513/202205131657.SjbSnATI-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 11.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.4-dirty
# https://github.com/ammarfaizi2/linux-block/commit/36075641f704b02b4bcaee01d904a06676b32199
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block dhowells/linux-fs/rxrpc-ringless
git checkout 36075641f704b02b4bcaee01d904a06676b32199
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sh SHELL=/bin/bash net/rxrpc/
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 >>)
>> net/rxrpc/recvmsg.c:311:25: sparse: sparse: cast from restricted __be16
>> net/rxrpc/recvmsg.c:311:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 [addressable] [usertype] cksum @@
net/rxrpc/recvmsg.c:311:25: sparse: expected unsigned short [usertype] val
net/rxrpc/recvmsg.c:311:25: sparse: got restricted __be16 [addressable] [usertype] cksum
>> net/rxrpc/recvmsg.c:311:25: sparse: sparse: cast from restricted __be16
>> net/rxrpc/recvmsg.c:311:25: sparse: sparse: cast from restricted __be16
>> net/rxrpc/recvmsg.c:311:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] cksum @@ got restricted __be16 [usertype] @@
net/rxrpc/recvmsg.c:311:23: sparse: expected unsigned short [usertype] cksum
net/rxrpc/recvmsg.c:311:23: sparse: got restricted __be16 [usertype]
vim +311 net/rxrpc/recvmsg.c
275
276 /*
277 * Set up a data location table for a jumbo DATA packet then verify
278 * and decrypt all the subpackets and locate the data for each. We
279 * also need to skip over any duplicate subpackets.
280 */
281 static int rxrpc_verify_data(struct rxrpc_call *call, struct sk_buff *skb)
282 {
283 struct rxrpc_jumbo_header jhdr;
284 struct rxrpc_skb_subpacket *subs;
285 struct rxrpc_skb_priv *sp = rxrpc_skb(skb);
286 unsigned int offset = sizeof(struct rxrpc_wire_header);
287 unsigned int len = skb->len - sizeof(struct rxrpc_wire_header);
288 rxrpc_seq_t seq = sp->hdr.seq;
289 int nr_subs = sp->nr_subpackets - 1, i = 0, j;
290 u16 cksum = sp->hdr.cksum;
291
292 subs = kcalloc(sp->nr_subpackets, sizeof(*sp->subs), GFP_KERNEL);
293 if (!subs)
294 return -ENOMEM;
295 sp->subs = subs;
296
297 for (; j < nr_subs; j++, seq++) {
298 if (after(seq, call->rx_consumed)) {
299 subs[i].offset = offset;
300 subs[i].len = RXRPC_JUMBO_DATALEN;
301 subs[i].cksum = cksum;
302 i++;
303 } else {
304 sp->hdr.seq++;
305 sp->nr_subpackets--;
306 }
307 offset += RXRPC_JUMBO_DATALEN;
308 if (skb_copy_bits(skb, offset, &jhdr.cksum, 2) < 0)
309 return -EPROTO;
310 offset += sizeof(jhdr);
> 311 cksum = htons(jhdr.cksum);
312 len -= RXRPC_JUMBO_SUBPKTLEN;
313 }
314
315 subs[i].offset = offset;
316 subs[i].len = len;
317 subs[i].cksum = cksum;
318 return call->security->verify_packet(call, skb);
319 }
320
--
0-DAY CI Kernel Test Service
https://01.org/lkp
reply other threads:[~2022-05-13 9:00 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202205131657.SjbSnATI-lkp@intel.com \
--to=lkp@intel.com \
--cc=dhowells@redhat.com \
--cc=gwml@vger.gnuweeb.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.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.