57 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								///
							 | 
						||
| 
								 | 
							
								/// 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)
							 |