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(). -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html