forked from mirrors/linux
		
	mips/mm: Convert to using lock_mm_and_find_vma()
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									e6fe228c4f
								
							
						
					
					
						commit
						4bce37a68f
					
				
					 2 changed files with 3 additions and 10 deletions
				
			
		|  | @ -91,6 +91,7 @@ config MIPS | |||
| 	select HAVE_VIRT_CPU_ACCOUNTING_GEN if 64BIT || !SMP | ||||
| 	select IRQ_FORCED_THREADING | ||||
| 	select ISA if EISA | ||||
| 	select LOCK_MM_AND_FIND_VMA | ||||
| 	select MODULES_USE_ELF_REL if MODULES | ||||
| 	select MODULES_USE_ELF_RELA if MODULES && 64BIT | ||||
| 	select PERF_USE_VMALLOC | ||||
|  |  | |||
|  | @ -99,21 +99,13 @@ static void __do_page_fault(struct pt_regs *regs, unsigned long write, | |||
| 
 | ||||
| 	perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address); | ||||
| retry: | ||||
| 	mmap_read_lock(mm); | ||||
| 	vma = find_vma(mm, address); | ||||
| 	vma = lock_mm_and_find_vma(mm, address, regs); | ||||
| 	if (!vma) | ||||
| 		goto bad_area; | ||||
| 	if (vma->vm_start <= address) | ||||
| 		goto good_area; | ||||
| 	if (!(vma->vm_flags & VM_GROWSDOWN)) | ||||
| 		goto bad_area; | ||||
| 	if (expand_stack(vma, address)) | ||||
| 		goto bad_area; | ||||
| 		goto bad_area_nosemaphore; | ||||
| /*
 | ||||
|  * Ok, we have a good vm_area for this memory access, so | ||||
|  * we can handle it.. | ||||
|  */ | ||||
| good_area: | ||||
| 	si_code = SEGV_ACCERR; | ||||
| 
 | ||||
| 	if (write) { | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Ben Hutchings
						Ben Hutchings