-
Notifications
You must be signed in to change notification settings - Fork 53.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
scripts/coccinelle/api/ptr_ret.cocci: semantic patch for ptr_err
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Michal Marek <mmarek@suse.cz>
- Loading branch information
1 parent
6697922
commit 468db96
Showing
1 changed file
with
70 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
/// | ||
/// Use PTR_RET rather than if(IS_ERR(...)) + PTR_ERR | ||
/// | ||
// Confidence: High | ||
// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. GPLv2. | ||
// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. GPLv2. | ||
// URL: http://coccinelle.lip6.fr/ | ||
// Options: -no_includes -include_headers | ||
// | ||
// Keywords: ERR_PTR, PTR_ERR, PTR_RET | ||
// Version min: 2.6.39 | ||
// | ||
|
||
virtual context | ||
virtual patch | ||
virtual org | ||
virtual report | ||
|
||
@depends on patch@ | ||
expression ptr; | ||
@@ | ||
|
||
- if (IS_ERR(ptr)) return PTR_ERR(ptr); else return 0; | ||
+ return PTR_RET(ptr); | ||
|
||
@depends on patch@ | ||
expression ptr; | ||
@@ | ||
|
||
- if (IS_ERR(ptr)) return PTR_ERR(ptr); return 0; | ||
+ return PTR_RET(ptr); | ||
|
||
@r1 depends on !patch@ | ||
expression ptr; | ||
position p1; | ||
@@ | ||
|
||
* if@p1 (IS_ERR(ptr)) return PTR_ERR(ptr); else return 0; | ||
|
||
@r2 depends on !patch@ | ||
expression ptr; | ||
position p2; | ||
@@ | ||
|
||
* if@p2 (IS_ERR(ptr)) return PTR_ERR(ptr); return 0; | ||
|
||
@script:python depends on org@ | ||
p << r1.p1; | ||
@@ | ||
coccilib.org.print_todo(p[0], "WARNING: PTR_RET can be used") | ||
@script:python depends on org@ | ||
p << r2.p2; | ||
@@ | ||
coccilib.org.print_todo(p[0], "WARNING: PTR_RET can be used") | ||
@script:python depends on report@ | ||
p << r1.p1; | ||
@@ | ||
coccilib.report.print_report(p[0], "WARNING: PTR_RET can be used") | ||
@script:python depends on report@ | ||
p << r2.p2; | ||
@@ | ||
coccilib.report.print_report(p[0], "WARNING: PTR_RET can be used") |