Re: [PATCH v2] rtw_security: fix cast to restricted __le32

From: Jhih Ming Huang
Date: Sun Jun 13 2021 - 12:41:59 EST


On Sun, Jun 13, 2021 at 8:34 PM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Sun, Jun 13, 2021 at 08:28:58PM +0800, Jhih-Ming Huang wrote:
> > This patch fixes the sparse warning of fix cast to restricted __le32.
> >
> > Last month, there was a change for replacing private CRC-32 routines with
> > in-kernel ones.
> > In that patch, we replaced getcrc32 with crc32_le in calling le32_to_cpu.
> > le32_to_cpu accepts __le32 type as arg, but crc32_le returns unsigned int.
> > That how it introduced the sparse warning.
>
> As crc32_le returns a u32 which is in native-endian format, how can you
> cast it to le32? Why do you cast it to le32? Isn't that going to be
> incorrect for big endian systems?
>
> thanks,
>
> greg k-h

Thanks for the fast reply.
Yes, you are right. I did not notice that le32_to_cpu already handles
both of the cases.

So it seems the warning from sparse is false positives, am I right?

thanks

--jmhuang