Commit 028c1f68 authored by Jesper Nilsson's avatar Jesper Nilsson
Browse files

CRIS: Don't take faults while in_atomic

parent a90993c6
Loading
Loading
Loading
Loading
+5 −8
Original line number Original line Diff line number Diff line
/*
/*
 *  linux/arch/cris/mm/fault.c
 *  arch/cris/mm/fault.c
 *
 *  Copyright (C) 2000-2006  Axis Communications AB
 *
 *  Authors:  Bjorn Wesen
 *
 *
 *  Copyright (C) 2000-2010  Axis Communications AB
 */
 */


#include <linux/mm.h>
#include <linux/mm.h>
@@ -108,11 +105,11 @@ do_page_fault(unsigned long address, struct pt_regs *regs,
	info.si_code = SEGV_MAPERR;
	info.si_code = SEGV_MAPERR;


	/*
	/*
	 * If we're in an interrupt or have no user
	 * If we're in an interrupt or "atomic" operation or have no
	 * context, we must not take the fault..
	 * user context, we must not take the fault.
	 */
	 */


	if (in_interrupt() || !mm)
	if (in_atomic() || !mm)
		goto no_context;
		goto no_context;


	down_read(&mm->mmap_sem);
	down_read(&mm->mmap_sem);