[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f2ab21eab23c4863b1b5c004a75d834d@AcuMS.aculab.com>
Date: Wed, 25 Aug 2021 09:23:28 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Aakash Hemadri' <aakashhemadri123@...il.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Larry Finger <Larry.Finger@...inger.net>,
Phillip Potter <phil@...lpotter.co.uk>
CC: "linux-staging@...ts.linux.dev" <linux-staging@...ts.linux.dev>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v4 3/5] staging: r8188eu: incorrect type in
csum_ipv6_magic
From: Aakash Hemadri
> Sent: 23 August 2021 18:00
>
> Fix sparse warning:
> > rtw_br_ext.c:771:84: got restricted __be16 [usertype] payload_len
> > rtw_br_ext.c:773:110: warning: incorrect type in argument 2
> (different base types)
> > rtw_br_ext.c:773:110: expected int len
> > rtw_br_ext.c:773:110: got restricted __be16 [usertype] payload_len
>
> csum_ipv6_magic and csum_partial expect int len not __be16, use
> be16_to_cpu()
This is a behaviour change on LE systems.
Even if you are testing on BE the commit message should say
that it fixes the length passed to the checksum code and
was detected by sparse.
...
> hdr->icmp6_cksum = csum_ipv6_magic(&iph->saddr, &iph->daddr,
> - iph->payload_len,
> + be16_to_cpu(iph->payload_len),
> IPPROTO_ICMPV6,
> - csum_partial((__u8 *)hdr, iph->payload_len, 0));
> + csum_partial((__u8 *)hdr, be16_to_cpu(iph->payload_len), 0));
Oh - that code is indented far too many times.
I had to delete a load of tabs to stop my mail crapping it.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Powered by blists - more mailing lists