Messages in this thread |  | | Date | Tue, 17 May 2011 22:58:21 +0200 | | From | Jiri Slaby <> | | Subject | Re: [PATCH 3/3] checkpatch.pl: Add check for task comm references |
| |
On 05/17/2011 10:47 PM, John Stultz wrote: > Now that accessing current->comm needs to be protected, > avoid new current->comm or other task->comm usage by adding > a warning to checkpatch.pl. > > Fair warning: I know zero perl, so this was written in the > style of "monkey see, monkey do". It does appear to work > in my testing though. > > Thanks to Jiri Slaby, Michal Nazarewicz and Joe Perches > for help improving the regex! > > Close review and feedback would be appreciated. > > CC: Joe Perches <joe@perches.com> > CC: Michal Nazarewicz <mina86@mina86.com> > CC: Andy Whitcroft <apw@canonical.com> > CC: Jiri Slaby <jirislaby@gmail.com> > CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> > CC: David Rientjes <rientjes@google.com> > CC: Dave Hansen <dave@linux.vnet.ibm.com> > CC: Andrew Morton <akpm@linux-foundation.org> > CC: linux-mm@kvack.org > Signed-off-by: John Stultz <john.stultz@linaro.org> > --- > scripts/checkpatch.pl | 7 +++++++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index d867081..a67ea69 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -2868,6 +2868,13 @@ sub process { > WARN("usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc\n" . $herecurr); > } > > +# check for current->comm usage > + our $common_comm_vars = qr{(?x: > + current|tsk|p|task|curr|chip|t|object|me
Hrm, chip->comm looks like a total bullshit. object->comm refers to kmemleak object, so this would trigger false alarms too.
> + )}; > + if ($line =~ /\b($common_comm_vars)\s*->\s*comm\b/) { > + WARN("comm access needs to be protected. Use get_task_comm, or printk's \%ptc formatting.\n" . $herecurr); > + } > # check for %L{u,d,i} in strings > my $string; > while ($line =~ /(?:^|")([X\t]*)(?:"|$)/g) {
thanks, -- js
|  |