forked from mirrors/linux
		
	[ARM] add address randomization to mmap()
Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
This commit is contained in:
		
							parent
							
								
									990cb8acf2
								
							
						
					
					
						commit
						cc92c28b2d
					
				
					 1 changed files with 4 additions and 0 deletions
				
			
		|  | @ -7,6 +7,7 @@ | |||
| #include <linux/shm.h> | ||||
| #include <linux/sched.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/random.h> | ||||
| #include <asm/cputype.h> | ||||
| #include <asm/system.h> | ||||
| 
 | ||||
|  | @ -80,6 +81,9 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, | |||
| 	        start_addr = addr = TASK_UNMAPPED_BASE; | ||||
| 	        mm->cached_hole_size = 0; | ||||
| 	} | ||||
| 	/* 8 bits of randomness in 20 address space bits */ | ||||
| 	if (current->flags & PF_RANDOMIZE) | ||||
| 		addr += (get_random_int() % (1 << 8)) << PAGE_SHIFT; | ||||
| 
 | ||||
| full_search: | ||||
| 	if (do_align) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Nicolas Pitre
						Nicolas Pitre