RE: [PATCH v4 3/5] staging: r8188eu: incorrect type in csum_ipv6_magic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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)






[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux