1 // SPDX-License-Identifier: GPL-2.0-only 2 /// 3 /// Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...)) 4 /// 5 // Confidence: High 6 // Copyright: (C) 2009, 2010 Nicolas Palix, DIKU. 7 // Copyright: (C) 2009, 2010 Julia Lawall, DIKU. 8 // Copyright: (C) 2009, 2010 Gilles Muller, INRIA/LiP6. 9 // URL: https://coccinelle.gitlabpages.inria.fr/website 10 // Options: 11 // 12 // Keywords: ERR_PTR, PTR_ERR, ERR_CAST 13 // Version min: 2.6.25 14 // 15 16 virtual context 17 virtual patch 18 virtual org 19 virtual report 20 21 22 @ depends on context && !patch && !org && !report@ 23 expression x; 24 @@ 25 26 * ERR_PTR(PTR_ERR(x)) 27 28 @ depends on !context && patch && !org && !report @ 29 expression x; 30 @@ 31 32 - ERR_PTR(PTR_ERR(x)) 33 + ERR_CAST(x) 34 35 @r depends on !context && !patch && (org || report)@ 36 expression x; 37 position p; 38 @@ 39 40 ERR_PTR@p(PTR_ERR(x)) 41 42 @script:python depends on org@ 43 p << r.p; 44 x << r.x; 45 @@ 46 47 msg="WARNING ERR_CAST can be used with %s" % (x) 48 msg_safe=msg.replace("[","@(").replace("]",")") 49 coccilib.org.print_todo(p[0], msg_safe) 50 51 @script:python depends on report@ 52 p << r.p; 53 x << r.x; 54 @@ 55 56 msg="WARNING: ERR_CAST can be used with %s" % (x) 57 coccilib.report.print_report(p[0], msg)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.