Re: [PATCH 23/26] sh_eth: constify local structures
From: Julia Lawall <hidden>
Date: 2016-09-12 09:43:10
Also in:
kernel-janitors, linux-renesas-soc, lkml
On Sun, 11 Sep 2016, Sergei Shtylyov wrote:
On 09/11/2016 04:06 PM, Julia Lawall wrote:quoted
For structure types defined in the same file or local header files, find top-level static structure declarations that have the following properties: 1. Never reassigned.Really?quoted
2. Address never takenReally?
OK, I see the problem. The code has, eg:
{ "sh7724-ether", (kernel_ulong_t)&sh7724_data }
Coccinelle doesn't know anything about kernel_ulong_t, so it assumes that
it is an identifier, and that the whole expression is a bit and, rather
than an address computation. And at the same time, the cast causes the
compiler to discard the const annotation, so it doesn't complain either.
I can update the rule to avoid this case, since taking a bit and on the
address of a top-level structure is not likely to be useful, and I will
check whether any of the other patches are affected by this issue.
Thanks for the report.
julia
quoted
3. Not passed to a top-level macro call 4. No pointer or array-typed field passed to a function or stored in a variable. Declare structures having all of these properties as const. Done using Coccinelle. Based on a suggestion by Joe Perches [off-list ref]. Signed-off-by: Julia Lawall <redacted>NAK, see sh_eth_set_default_cpu_data(). MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html