forked from mirrors/linux
		
	x86: add might_sleep() to do_page_fault()
Impact: widen debug checks VirtualBox calls do_page_fault() from an atomic context but runs into a might_sleep() way pas this point, cure that. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
		
							parent
							
								
									fb746d0e13
								
							
						
					
					
						commit
						010060741a
					
				
					 1 changed files with 6 additions and 0 deletions
				
			
		|  | @ -888,6 +888,12 @@ void __kprobes do_page_fault(struct pt_regs *regs, unsigned long error_code) | |||
| 			return; | ||||
| 		} | ||||
| 		down_read(&mm->mmap_sem); | ||||
| 	} else { | ||||
| 		/*
 | ||||
| 		 * The above down_read_trylock() might have succeeded in which | ||||
| 		 * case we'll have missed the might_sleep() from down_read(). | ||||
| 		 */ | ||||
| 		might_sleep(); | ||||
| 	} | ||||
| 
 | ||||
| 	vma = find_vma(mm, address); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Peter Zijlstra
						Peter Zijlstra