Re: [PATCH v2 06/35] nds32: MMU fault handling and page table management

From: Al Viro
Date: Thu Dec 07 2017 - 11:40:57 EST


On Mon, Nov 27, 2017 at 08:27:53PM +0800, Greentime Hu wrote:
> +void do_page_fault(unsigned long entry, unsigned long addr,
> + unsigned int error_code, struct pt_regs *regs)
[snip]
> + /*
> + * If we're in an interrupt or have no user
> + * context, we must not take the fault..
> + */
> + if (unlikely(in_atomic() || !mm))

Broken. in_atomic() is wrong here - it should be faulthandler_disabled().