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