17f904d7eSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-only 299d653d4SNicolas Palix/// 399d653d4SNicolas Palix/// Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...)) 499d653d4SNicolas Palix/// 599d653d4SNicolas Palix// Confidence: High 67f904d7eSThomas Gleixner// Copyright: (C) 2009, 2010 Nicolas Palix, DIKU. 77f904d7eSThomas Gleixner// Copyright: (C) 2009, 2010 Julia Lawall, DIKU. 87f904d7eSThomas Gleixner// Copyright: (C) 2009, 2010 Gilles Muller, INRIA/LiP6. 9*f01701ceSJulia Lawall// URL: https://coccinelle.gitlabpages.inria.fr/website 1099d653d4SNicolas Palix// Options: 1199d653d4SNicolas Palix// 1299d653d4SNicolas Palix// Keywords: ERR_PTR, PTR_ERR, ERR_CAST 1399d653d4SNicolas Palix// Version min: 2.6.25 1499d653d4SNicolas Palix// 1599d653d4SNicolas Palix 1699d653d4SNicolas Palixvirtual context 1799d653d4SNicolas Palixvirtual patch 1899d653d4SNicolas Palixvirtual org 1999d653d4SNicolas Palixvirtual report 2099d653d4SNicolas Palix 2199d653d4SNicolas Palix 2299d653d4SNicolas Palix@ depends on context && !patch && !org && !report@ 2399d653d4SNicolas Palixexpression x; 2499d653d4SNicolas Palix@@ 2599d653d4SNicolas Palix 2699d653d4SNicolas Palix* ERR_PTR(PTR_ERR(x)) 2799d653d4SNicolas Palix 2899d653d4SNicolas Palix@ depends on !context && patch && !org && !report @ 2999d653d4SNicolas Palixexpression x; 3099d653d4SNicolas Palix@@ 3199d653d4SNicolas Palix 3299d653d4SNicolas Palix- ERR_PTR(PTR_ERR(x)) 3399d653d4SNicolas Palix+ ERR_CAST(x) 3499d653d4SNicolas Palix 3599d653d4SNicolas Palix@r depends on !context && !patch && (org || report)@ 3699d653d4SNicolas Palixexpression x; 3799d653d4SNicolas Palixposition p; 3899d653d4SNicolas Palix@@ 3999d653d4SNicolas Palix 4099d653d4SNicolas Palix ERR_PTR@p(PTR_ERR(x)) 4199d653d4SNicolas Palix 4299d653d4SNicolas Palix@script:python depends on org@ 4399d653d4SNicolas Palixp << r.p; 4499d653d4SNicolas Palixx << r.x; 4599d653d4SNicolas Palix@@ 4699d653d4SNicolas Palix 4799d653d4SNicolas Palixmsg="WARNING ERR_CAST can be used with %s" % (x) 4899d653d4SNicolas Palixmsg_safe=msg.replace("[","@(").replace("]",")") 4999d653d4SNicolas Palixcoccilib.org.print_todo(p[0], msg_safe) 5099d653d4SNicolas Palix 5199d653d4SNicolas Palix@script:python depends on report@ 5299d653d4SNicolas Palixp << r.p; 5399d653d4SNicolas Palixx << r.x; 5499d653d4SNicolas Palix@@ 5599d653d4SNicolas Palix 5699d653d4SNicolas Palixmsg="WARNING: ERR_CAST can be used with %s" % (x) 5799d653d4SNicolas Palixcoccilib.report.print_report(p[0], msg) 58