Unverified Commit 8fef9900 authored by Andreas Schwab's avatar Andreas Schwab Committed by Palmer Dabbelt
Browse files

riscv: fix locking violation in page fault handler



When a user mode process accesses an address in the vmalloc area
do_page_fault tries to unlock the mmap semaphore when it isn't locked.

Signed-off-by: default avatarAndreas Schwab <schwab@suse.de>
[Palmer: Duplicated code instead of a goto]
Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
parent a967a289
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -229,8 +229,9 @@ vmalloc_fault:
		pte_t *pte_k;
		int index;

		/* User mode accesses just cause a SIGSEGV */
		if (user_mode(regs))
			goto bad_area;
			return do_trap(regs, SIGSEGV, code, addr, tsk);

		/*
		 * Synchronize this task's top level page-table