From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751699AbcHFUkt (ORCPT ); Sat, 6 Aug 2016 16:40:49 -0400 Received: from mail-pf0-f196.google.com ([209.85.192.196]:33199 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751400AbcHFUks (ORCPT ); Sat, 6 Aug 2016 16:40:48 -0400 Date: Sat, 6 Aug 2016 10:45:48 +0530 From: Amitoj Kaur Chawla To: Julia.Lawall@lip6.fr, Gilles.Muller@lip6.fr, nicolas.palix@imag.fr, mmarek@suse.com, cocci@systeme.lip6.fr, linux-kernel@vger.kernel.org Subject: [PATCH v3] Coccinelle: Script to replace NULL test with IS_ERR test for devm_ioremap_resource Message-ID: <20160806051548.GA30731@amitoj-Inspiron-3542> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This script detects cases which have incorrect error handling for devm_ioremap_resource function, employing a NULL test instead of an IS_ERR() test. Acked-by: Julia Lawall Signed-off-by: Amitoj Kaur Chawla --- Changes in v2: -Changed script to correct error handling instead of just detecting cases of incorrect error handling Changes in v3: -Reverted to original script in v1 to ensure no error in modifying inconsistent paths. .../null/devm_ioremap_resource_test.cocci | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 scripts/coccinelle/null/devm_ioremap_resource_test.cocci diff --git a/scripts/coccinelle/null/devm_ioremap_resource_test.cocci b/scripts/coccinelle/null/devm_ioremap_resource_test.cocci new file mode 100644 index 0000000..734dbd3 --- /dev/null +++ b/scripts/coccinelle/null/devm_ioremap_resource_test.cocci @@ -0,0 +1,38 @@ +/// Correct error handling for devm_ioremap_resource +/// +// Confidence: High +// Copyright: (C) 2016 Amitoj Kaur Chawla +// Keywords: devm,devm_ioremap_resource + +virtual context +virtual org +virtual report + +// ---------------------------------------------------------------------------- + +@err depends on context || org || report@ +statement S; +expression e; +position j0; +@@ + + e = devm_ioremap_resource(...); +* if (!e@j0) S +// ---------------------------------------------------------------------------- + +@script:python err_org depends on org@ +j0 << err.j0; +@@ + +msg = "Incorrect error handling." +coccilib.org.print_todo(j0[0], msg) + +// ---------------------------------------------------------------------------- + +@script:python err_report depends on report@ +j0 << err.j0; +@@ + +msg = "Incorrect error handling." +coccilib.report.print_report(j0[0], msg) + -- 1.9.1