[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230520015527.215952-1-minhuadotchen@gmail.com>
Date: Sat, 20 May 2023 09:55:27 +0800
From: Min-Hua Chen <minhuadotchen@...il.com>
To: kuba@...nel.org
Cc: alexandre.torgue@...s.st.com,
davem@...emloft.net,
edumazet@...gle.com,
joabreu@...opsys.com,
linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
mcoquelin.stm32@...il.com,
minhuadotchen@...il.com,
netdev@...r.kernel.org,
pabeni@...hat.com,
peppe.cavallaro@...com,
simon.horman@...igine.com
Subject: Re: [PATCH v3] net: stmmac: compare p->des0 and p->des1 with __le32 type values
Hi Jakub,
>On Fri, 19 May 2023 19:50:28 +0800 Min-Hua Chen wrote:
>> - if ((p->des0 == 0xffffffff) && (p->des1 == 0xffffffff))
>> + if (p->des0 == cpu_to_le32(0xffffffff) &&
>> + p->des1 == cpu_to_le32(0xffffffff))
>
>Can you try to fix the sparse tool instead? I believe it already
>ignores such errors for the constant of 0, maybe it can be taught
>to ignore all "isomorphic" values?
>
I downloaded the source code of sparse and I'm afraid that I cannot make
0xFFFFFFFF ignored easily. I've tried ~0 instead of 0xFFFFFF,
but it did not work with current sparse.
0 is a special case mentioned in [1].
"""
One small note: the constant integer “0” is special.
You can use a constant zero as a bitwise integer type without
sparse ever complaining. This is because “bitwise” (as the name
implies) was designed for making sure that bitwise types don’t
get mixed up (little-endian vs big-endian vs cpu-endian vs whatever),
and there the constant “0” really _is_ special.
"""
For 0xFFFFFFFF, it may look like a false alarm, but we can silence the
sparse warning by taking a fix like mine and people can keep working on
other sparse warnings easier.
(There are around 7000 sparse warning in ARCH=arm64 defconfig build and
sometimes it is hard to remember all the false alarm cases)
Could you consider taking this patch, please?
>
>By "isomorphic" I mean that 0xffffffff == cpu_to_le32(0xffffffff)
>so there's no point complaining.
thanks,
Min-Hua
[1] https://www.kernel.org/doc/html/v4.12/dev-tools/sparse.html
Powered by blists - more mailing lists