mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 20:06:46 +00:00 
			
		
		
		
	 f853f8305b
			
		
	
	
		f853f8305b
		
	
	
	
	
		
			
			Add a Coccinelle file to use the ERR_CAST function Before the release 2.6.25, one had to use ERR_PTR(PTR_ERR(...)) to convert the pointer type of an error. Since then, the function ERR_CAST has been available for that purpose. Signed-off-by: Nicolas Palix <npalix@diku.dk> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Michal Marek <mmarek@suse.cz>
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ///
 | |
| /// Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))
 | |
| ///
 | |
| // Confidence: High
 | |
| // Copyright: (C) 2009, 2010 Nicolas Palix, DIKU.  GPLv2.
 | |
| // Copyright: (C) 2009, 2010 Julia Lawall, DIKU.  GPLv2.
 | |
| // Copyright: (C) 2009, 2010 Gilles Muller, INRIA/LiP6.  GPLv2.
 | |
| // URL: http://coccinelle.lip6.fr/
 | |
| // Options:
 | |
| //
 | |
| // Keywords: ERR_PTR, PTR_ERR, ERR_CAST
 | |
| // Version min: 2.6.25
 | |
| //
 | |
| 
 | |
| virtual context
 | |
| virtual patch
 | |
| virtual org
 | |
| virtual report
 | |
| 
 | |
| 
 | |
| @ depends on context && !patch && !org && !report@
 | |
| expression x;
 | |
| @@
 | |
| 
 | |
| * ERR_PTR(PTR_ERR(x))
 | |
| 
 | |
| @ depends on !context && patch && !org && !report @
 | |
| expression x;
 | |
| @@
 | |
| 
 | |
| - ERR_PTR(PTR_ERR(x))
 | |
| + ERR_CAST(x)
 | |
| 
 | |
| @r depends on !context && !patch && (org || report)@
 | |
| expression x;
 | |
| position p;
 | |
| @@
 | |
| 
 | |
|  ERR_PTR@p(PTR_ERR(x))
 | |
| 
 | |
| @script:python depends on org@
 | |
| p << r.p;
 | |
| x << r.x;
 | |
| @@
 | |
| 
 | |
| msg="WARNING ERR_CAST can be used with %s" % (x)
 | |
| msg_safe=msg.replace("[","@(").replace("]",")")
 | |
| coccilib.org.print_todo(p[0], msg_safe)
 | |
| 
 | |
| @script:python depends on report@
 | |
| p << r.p;
 | |
| x << r.x;
 | |
| @@
 | |
| 
 | |
| msg="WARNING: ERR_CAST can be used with %s" % (x)
 | |
| coccilib.report.print_report(p[0], msg)
 |