forked from mirrors/linux
		
	Use kobj_to_dev() instead of container_of(). Signed-off-by: Denis Efremov <efremov@linux.com> Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			764 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			764 B
		
	
	
	
		
			Text
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0-only
 | 
						|
///
 | 
						|
/// Use kobj_to_dev() instead of container_of()
 | 
						|
///
 | 
						|
// Confidence: High
 | 
						|
// Copyright: (C) 2020 Denis Efremov ISPRAS
 | 
						|
// Options: --no-includes --include-headers
 | 
						|
//
 | 
						|
// Keywords: kobj_to_dev, container_of
 | 
						|
//
 | 
						|
 | 
						|
virtual context
 | 
						|
virtual report
 | 
						|
virtual org
 | 
						|
virtual patch
 | 
						|
 | 
						|
 | 
						|
@r depends on !patch@
 | 
						|
expression ptr;
 | 
						|
symbol kobj;
 | 
						|
position p;
 | 
						|
@@
 | 
						|
 | 
						|
* container_of(ptr, struct device, kobj)@p
 | 
						|
 | 
						|
 | 
						|
@depends on patch@
 | 
						|
expression ptr;
 | 
						|
@@
 | 
						|
 | 
						|
- container_of(ptr, struct device, kobj)
 | 
						|
+ kobj_to_dev(ptr)
 | 
						|
 | 
						|
 | 
						|
@script:python depends on report@
 | 
						|
p << r.p;
 | 
						|
@@
 | 
						|
 | 
						|
coccilib.report.print_report(p[0], "WARNING opportunity for kobj_to_dev()")
 | 
						|
 | 
						|
@script:python depends on org@
 | 
						|
p << r.p;
 | 
						|
@@
 | 
						|
 | 
						|
coccilib.org.print_todo(p[0], "WARNING opportunity for kobj_to_dev()")
 |