From patchwork Mon Apr 26 21:11:17 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Palix X-Patchwork-Id: 95203 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o3QLDL93031180 for ; Mon, 26 Apr 2010 21:13:23 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754821Ab0DZVMF (ORCPT ); Mon, 26 Apr 2010 17:12:05 -0400 Received: from mgw1.diku.dk ([130.225.96.91]:51333 "EHLO mgw1.diku.dk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754690Ab0DZVMB (ORCPT ); Mon, 26 Apr 2010 17:12:01 -0400 Received: from localhost (localhost [127.0.0.1]) by mgw1.diku.dk (Postfix) with ESMTP id 1630652C309; Mon, 26 Apr 2010 23:12:00 +0200 (CEST) Received: from mgw1.diku.dk ([127.0.0.1]) by localhost (mgw1.diku.dk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6q0Hf8efYDtP; Mon, 26 Apr 2010 23:11:55 +0200 (CEST) Received: from nhugin.diku.dk (nhugin.diku.dk [130.225.96.140]) by mgw1.diku.dk (Postfix) with ESMTP id 9F27D52C325; Mon, 26 Apr 2010 23:11:55 +0200 (CEST) Received: from localhost.localdomain (tyr.diku.dk [130.225.96.226]) by nhugin.diku.dk (Postfix) with ESMTP id 37FDC6DFD0A; Mon, 26 Apr 2010 23:05:07 +0200 (CEST) From: Nicolas Palix To: Andrew Morton , Joe Perches , "David S. Miller" , Michal Marek , Sam Ravnborg , Julia Lawall , Gilles Muller , Nicolas Palix , linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, cocci@diku.dk Subject: [PATCH 2/4] Add scripts/smpl/drop_kmalloc_cast.cocci Date: Mon, 26 Apr 2010 23:11:17 +0200 Message-Id: <1272316279-12042-3-git-send-email-npalix@diku.dk> X-Mailer: git-send-email 1.6.3.3 In-Reply-To: <1272316279-12042-1-git-send-email-npalix@diku.dk> References: <1272316279-12042-1-git-send-email-npalix@diku.dk> Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Mon, 26 Apr 2010 21:13:24 +0000 (UTC) diff --git a/scripts/smpl/drop_kmalloc_cast.cocci b/scripts/smpl/drop_kmalloc_cast.cocci new file mode 100644 index 0000000..fbd3950 --- /dev/null +++ b/scripts/smpl/drop_kmalloc_cast.cocci @@ -0,0 +1,74 @@ +/// +/// Casting (void *) value returned by kmalloc is useless +/// as mentioned in Documentation/CodingStyle, Chap 14. +/// +/// The semantic patch that makes this change is available +/// in THISFILE. +/// +/// More information about semantic patching is available at +/// http://coccinelle.lip6.fr/ +/// +// Confidence: High +// Copyright: 2009,2010 Nicolas Palix, DIKU. GPLv2. +// URL: http://coccinelle.lip6.fr/ +// Options: -no_includes -include_headers +// +// Keywords: kmalloc, kzalloc, kcalloc +// Version min: < 2.6.12 kmalloc +// Version min: < 2.6.12 kcalloc +// Version min: 2.6.14 kzalloc +// Version max: * +// + +virtual context +virtual patch +virtual org +virtual report + +//---------------------------------------------------------- +// For context mode +//---------------------------------------------------------- + +@depends on context@ +type T; +@@ + +* (T *) + \(kmalloc\|kzalloc\|kcalloc\)(...) + +//---------------------------------------------------------- +// For patch mode +//---------------------------------------------------------- + +@depends on patch@ +type T; +@@ + +- (T *) + \(kmalloc\|kzalloc\|kcalloc\)(...) + +//---------------------------------------------------------- +// For org and report mode +//---------------------------------------------------------- + +@r depends on org || report@ +type T; +position p; +@@ + + (T@p *)\(kmalloc\|kzalloc\|kcalloc\)(...) + +@script:python depends on org@ +p << r.p; +t << r.T; +@@ + +coccilib.org.print_safe_todo(p[0], t) + +@script:python depends on report@ +p << r.p; +t << r.T; +@@ + +msg="WARNING: casting value returned by k[cmz]alloc to (%s *) is useless." % (t) +coccilib.report.print_report(p[0], msg)