Thread (35 messages) 35 messages, 10 authors, 2016-09-14

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 taken
  Really?
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help