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