Re: [PATCH] net: dsa: sja1105: Remove unneeded cast in sja1105_crc32()
From: Vladimir Oltean
Date: Wed Feb 24 2021 - 17:45:19 EST
On Tue, Feb 23, 2021 at 12:20:03PM +0100, Geert Uytterhoeven wrote:
>
sja1105_unpack() takes a "const void *buf" as its first parameter, so
>
there is no need to cast away the "const" of the "buf" variable before
>
calling it.
>
>
Drop the cast, as it prevents the compiler performing some checks.
>
>
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
>
---
Reviewed-by: Vladimir Oltean <olteanv@xxxxxxxxx>
By the way, your email went straight to my spam box, I just found the
patch by mistake on patchwork.
Why is this message in spam?
It is in violation of Google's recommended email sender guidelines.
>
Compile-tested only.
>
>
BTW, sja1105_packing() and packing() are really bad APIs, as the input
>
pointer parameters cannot be const due to the direction depending on
>
"op". This means the compiler cannot do const checks. Worse, callers
>
are required to cast away constness to prevent the compiler from
>
issueing warnings. Please don't do this!
>
---
What const checks can the compiler not do?
Also, if you know of an existing kernel API which can replace packing(),
I'm all ears.