Commit bac9c66c authored by Akinobu Mita's avatar Akinobu Mita Committed by Martin Schwidefsky

[S390] init task memory faults.

Lock for mmap_sem is missing on page fault retry for init task
when it fails due to out of memory.
Signed-off-by: default avatarAkinobu Mita <mita@miraclelinux.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent a77c64c1
...@@ -355,6 +355,7 @@ do_exception(struct pt_regs *regs, unsigned long error_code, int is_protection) ...@@ -355,6 +355,7 @@ do_exception(struct pt_regs *regs, unsigned long error_code, int is_protection)
up_read(&mm->mmap_sem); up_read(&mm->mmap_sem);
if (tsk->pid == 1) { if (tsk->pid == 1) {
yield(); yield();
down_read(&mm->mmap_sem);
goto survive; goto survive;
} }
printk("VM: killing process %s\n", tsk->comm); printk("VM: killing process %s\n", tsk->comm);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment