Provides a userspace interface to trigger a CMA allocation.
Usage:
        echo [pages] > alloc
This would provide testing/fuzzing access to the CMA allocation paths.
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Acked-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Laura Abbott <lauraa@codeaurora.org>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
	
			
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			508 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			508 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef __MM_CMA_H__
 | 
						|
#define __MM_CMA_H__
 | 
						|
 | 
						|
struct cma {
 | 
						|
	unsigned long   base_pfn;
 | 
						|
	unsigned long   count;
 | 
						|
	unsigned long   *bitmap;
 | 
						|
	unsigned int order_per_bit; /* Order of pages represented by one bit */
 | 
						|
	struct mutex    lock;
 | 
						|
#ifdef CONFIG_CMA_DEBUGFS
 | 
						|
	struct hlist_head mem_head;
 | 
						|
	spinlock_t mem_head_lock;
 | 
						|
#endif
 | 
						|
};
 | 
						|
 | 
						|
extern struct cma cma_areas[MAX_CMA_AREAS];
 | 
						|
extern unsigned cma_area_count;
 | 
						|
 | 
						|
static unsigned long cma_bitmap_maxno(struct cma *cma)
 | 
						|
{
 | 
						|
	return cma->count >> cma->order_per_bit;
 | 
						|
}
 | 
						|
 | 
						|
#endif
 |