Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f10eca6e authored by Michal Simek's avatar Michal Simek
Browse files

microblaze: Fix do_page_fault for no context



Calling fixup when we are in kernel mode. This
prevent fault for copy_to/from_user. This fault
was find thanks to writev01/03/04 LTP tests.

Signed-off-by: default avatarMichal Simek <monstr@monstr.eu>
parent f14d6f7c
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -122,15 +122,10 @@ void do_page_fault(struct pt_regs *regs, unsigned long address,
	}
#endif /* CONFIG_KGDB */

	if (in_atomic() || mm == NULL) {
		/* FIXME */
		if (kernel_mode(regs)) {
			printk(KERN_EMERG
				"Page fault in kernel mode - Oooou!!! pid %d\n",
				current->pid);
			_exception(SIGSEGV, regs, code, address);
			return;
		}
	if (in_atomic() || !mm) {
		if (kernel_mode(regs))
			goto bad_area_nosemaphore;

		/* in_atomic() in user mode is really bad,
		   as is current->mm == NULL. */
		printk(KERN_EMERG "Page fault in user mode with "