um: Implement probe_kernel_read()
authorRichard Weinberger <richard@nod.at>
Sat, 17 Aug 2013 16:46:00 +0000 (18:46 +0200)
committerRichard Weinberger <richard@nod.at>
Sat, 7 Sep 2013 08:38:34 +0000 (10:38 +0200)
commitf75b1b1bedfb498cc43a992ce4d7ed8df3b1e770
treee7afc9647b9cc80fb95ee9dae7d9532b67efdc01
parent65984ff9d2179a97e5a11aaef1e86fdb276cfad5
um: Implement probe_kernel_read()

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.

Cc: <stian@nixia.no>
Cc: <tj@kernel.org>
Cc: <stable@vger.kernel.org> # 3.10.x
Signed-off-by: Richard Weinberger <richard@nod.at>
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