diff options
Diffstat (limited to 'arch/alpha/mm/fault.c')
| -rw-r--r-- | arch/alpha/mm/fault.c | 18 | 
1 files changed, 8 insertions, 10 deletions
diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c index eee5102c3d88..ec20c1004abf 100644 --- a/arch/alpha/mm/fault.c +++ b/arch/alpha/mm/fault.c @@ -165,17 +165,15 @@ retry:  		BUG();  	} -	if (flags & FAULT_FLAG_ALLOW_RETRY) { -		if (fault & VM_FAULT_RETRY) { -			flags |= FAULT_FLAG_TRIED; +	if (fault & VM_FAULT_RETRY) { +		flags |= FAULT_FLAG_TRIED; -			 /* No need to mmap_read_unlock(mm) as we would -			 * have already released it in __lock_page_or_retry -			 * in mm/filemap.c. -			 */ +		/* No need to mmap_read_unlock(mm) as we would +		 * have already released it in __lock_page_or_retry +		 * in mm/filemap.c. +		 */ -			goto retry; -		} +		goto retry;  	}  	mmap_read_unlock(mm); @@ -204,7 +202,7 @@ retry:  	printk(KERN_ALERT "Unable to handle kernel paging request at "  	       "virtual address %016lx\n", address);  	die_if_kernel("Oops", regs, cause, (unsigned long*)regs - 16); -	do_exit(SIGKILL); +	make_task_dead(SIGKILL);  	/* We ran out of memory, or some other thing happened to us that  	   made us unable to handle the page fault gracefully.  */  |