Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755725Ab1CXPfN (ORCPT ); Thu, 24 Mar 2011 11:35:13 -0400 Received: from e23smtp08.au.ibm.com ([202.81.31.141]:44373 "EHLO e23smtp08.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752522Ab1CXPfL (ORCPT ); Thu, 24 Mar 2011 11:35:11 -0400 From: "Aneesh Kumar K. V" To: Julia Lawall , Pekka Enberg Cc: =?utf-8?Q?Am=C3=A9rico?= Wang , Steven Rostedt , Jonathan Corbet , LKML , Andy Whitcroft , Dave Jones , Andrew Morton , Nicolas Palix , Ingo Molnar Subject: Re: [PATCH] checkpatch: Test for kmalloc/memset(0) pairs In-Reply-To: References: <1300416744.16880.904.camel@gandalf.stny.rr.com> <20110317211548.646b04d2@tpl.lwn.net> <1300419170.16880.956.camel@gandalf.stny.rr.com> User-Agent: Notmuch/0.5-66-g70c5e2c (http://notmuchmail.org) Emacs/23.1.1 (i686-pc-linux-gnu) Date: Thu, 24 Mar 2011 21:04:54 +0530 Message-ID: <8762r8mt0h.fsf@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4822 Lines: 95 On Sun, 20 Mar 2011 10:17:07 +0100 (CET), Julia Lawall wrote: > On Sun, 20 Mar 2011, Pekka Enberg wrote: > > > Hi Julia, > > > > On Sun, Mar 20, 2011 at 10:01 AM, Julia Lawall wrote: > > > Suggestions for how to make it easier to use or the documentation more > > > understandable are welcome. > > > > The benefit of scripts/checkpatch.pl is that it doesn't require any > > setting up to do. I'm personally less likely to use Coccinelle (and > > Sparse for that matter) on boxes where the software is not installed. > > I'm not sure how other people feel about it, but I'd personally love > > to see tools/coccinelle and tools/sparse. > > This was discussed before, and it was felt that perhaps 75000 lines of > ocaml code was not really appropriate for the Linux source tree, and also > that it would too much complicate our development process. > > One reason for using multiple machines would be to work on multiple > architectures. But Coccinelle is not sensitive to the architecture on > which it is run, so perhaps you do't need to have it installed everywhere. > > > As for something more concrete, I guess this is what I'm mostly interested in: > > > > penberg@jaguar:~/src/linux$ make C=1 CHECK="scripts/coccicheck" mm/slub.o > > > > I guess it'd be good to document that for 'make help' because now you > > need to dig through Documentation/coccinelle.txt to find it. > > OK, thanks. We will look into that. > > > P.S. It seems there's a bug somewhere because the above command fails > > miserably for me: > > > > CHK include/linux/version.h > > CHK include/generated/utsrelease.h > > CALL scripts/checksyscalls.sh > > CHECK mm/slub.c > > File "/home/penberg/src/linux/scripts/coccinelle/api/memdup_user.cocci", > > line 32, column 5, charpos = 747 > > around = '<+...', whole content = - <+... when != goto l2; > > Fatal error: exception Lexer_cocci.Lexical("invalid in a nonempty > > context: <+...") > > File "/home/penberg/src/linux/scripts/coccinelle/api/memdup_user.cocci", > > line 32, column 5, charpos = 747 > > around = '<+...', whole content = - <+... when != goto l2; > > Fatal error: exception Lexer_cocci.Lexical("invalid in a nonempty > > context: <+...") > > File "/home/penberg/src/linux/scripts/coccinelle/api/memdup_user.cocci", > > line 32, column 5, charpos = 747 > > around = '<+...', whole content = - <+... when != goto l2; > > Fatal error: exception Lexer_cocci.Lexical("invalid in a nonempty > > context: <+...") > > File "/home/penberg/src/linux/scripts/coccinelle/api/memdup_user.cocci", > > line 32, column 5, charpos = 747 > > around = '<+...', whole content = - <+... when != goto l2; > > Fatal error: exception Lexer_cocci.Lexical("invalid in a nonempty > > context: <+...") > > make[1]: *** [mm/slub.o] Error 1 > > make: *** [mm/slub.o] Error 2 > > > > penberg@jaguar:~/src/linux$ dpkg -l|grep coccinelle > > ii coccinelle 0.2.2.deb-2 > > semantic patching tool for C > > > > [ I'm on Ubuntu 10.10. ] > > Indeed that one seems to be quite out of date. You can get the most > recent version here: https://launchpad.net/~npalix/+archive/coccinelle I never got a working version of coccinelle with scripts in the kernel. Even the ppa version doesn't work for me. make C=2 CHECK=scripts/coccicheck fs/namei.o ... .... CHECK scripts/mod/empty.c File "/home/opensource/sources/kernels/linux-2.6/scripts/coccinelle/api/memdup_user.cocci", line 32, column 5, charpos = 747 around = '<+...', whole content = - <+... when != goto l2; Fatal error: exception Lexer_cocci.Lexical("invalid in a nonempty context: <+...") File "/home/opensource/sources/kernels/linux-2.6/scripts/coccinelle/api/memdup_user.cocci", line 32, column 5, charpos = 747 around = '<+...', whole content = - <+... when != goto l2; Fatal error: exception Lexer_cocci.Lexical("invalid in a nonempty context: <+...") File "/home/opensource/sources/kernels/linux-2.6/scripts/coccinelle/api/memdup_user.cocci", line 32, column 5, charpos = 747 around = '<+...', whole content = - <+... when != goto l2; Fatal error: exception Lexer_cocci.Lexical("invalid in a nonempty context: <+...") File "/home/opensource/sources/kernels/linux-2.6/scripts/coccinelle/api/memdup_user.cocci", line 32, column 5, charpos = 747 around = '<+...', whole content = - <+... when != goto l2; Fatal error: exception Lexer_cocci.Lexical("invalid in a nonempty context: <+...") -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/