um: Implement probe_kernel_read()
authorRichard Weinberger <richard@nod.at>
Sat, 17 Aug 2013 16:46:00 +0000 (18:46 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Sep 2013 00:18:29 +0000 (17:18 -0700)
commit4fdaa3d47985338f80d7262de700533a9e630d29
treee0b5561831e3336af764f5c5d1472e405a8ab470
parent579db19eca10b594acd9d4516814b599eb4486ec
um: Implement probe_kernel_read()

commit f75b1b1bedfb498cc43a992ce4d7ed8df3b1e770 upstream.

UML needs it's own probe_kernel_read() to handle kernel
mode faults correctly.
The implementation uses mincore() on the host side to detect
whether a page is owned by the UML kernel process.

This fixes also a possible crash when sysrq-t is used.
Starting with 3.10 sysrq-t calls probe_kernel_read() to
read details from the kernel workers. As kernel worker are
completely async pointers may turn NULL while reading them.

Signed-off-by: Richard Weinberger <richard@nod.at>
Cc: <stian@nixia.no>
Cc: <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/um/include/shared/os.h
arch/um/kernel/Makefile
arch/um/kernel/maccess.c [new file with mode: 0644]
arch/um/os-Linux/process.c