kernel-ark/arch/um
Paolo 'Blaisorblade' Giarrusso 546fe1cbf9 [PATCH] uml: fix hang in TT mode on fault
The current code doesn't handle well general protection faults on the host -
it thinks that cr2 is always the address of a page fault.  While actually, on
general protection faults, that address is not accessible, so we'd better
assume we couldn't satisfy the fault.  Currently instead we think we've fixed
it, so we go back, retry the instruction and fault again endlessly.

This leads to the kernel hanging when doing copy_from_user(dest, -1, ...) in
TT mode, since reading *(-1) causes a GFP, and we don't support kernel
preemption.

Thanks to Luo Xin for testing UML with LTP and reporting the failures he got.

Cc: Luo Xin <luothing@sina.com>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-22 22:17:36 -07:00
..
drivers [PATCH] uml: preserve errno in error paths 2005-09-17 11:50:00 -07:00
include [PATCH] strlcat: use for uml umid.c 2005-09-22 22:17:36 -07:00
kernel [PATCH] uml: fix hang in TT mode on fault 2005-09-22 22:17:36 -07:00
os-Linux [PATCH] uml: comment about cast build fix 2005-09-21 16:16:30 -07:00
scripts [PATCH] sparse on uml (infrastructure bits) 2005-09-09 10:31:58 -07:00
sys-i386 [PATCH] uml: fix modify_ldt - missing break in switch 2005-09-21 16:16:29 -07:00
sys-ia64 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys-ppc [PATCH] uml: stack dump fix 2005-05-28 16:46:13 -07:00
sys-x86_64 [PATCH] bogus symbol used in arch/um/os-Linux/elf_aux.c 2005-09-07 17:17:33 -07:00
util [PATCH] uml: cross-build support : mk_task and mk_constants 2005-05-05 16:36:35 -07:00
config.release Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
defconfig [PATCH] uml: skas0 - separate kernel address space on stock hosts 2005-07-07 18:23:44 -07:00
Kconfig [PATCH] uml: mark SMP on UML/x86_64 as broken 2005-09-05 00:06:22 -07:00
Kconfig.char [PATCH] uml: Rename Kconfig files to be like the other arches 2005-09-05 00:06:19 -07:00
Kconfig.debug [PATCH] uml: workaround GDB problems on debugging 2005-09-05 00:06:20 -07:00
Kconfig.i386 [PATCH] uml: UML/i386 cmpxchg fix 2005-09-17 11:50:01 -07:00
Kconfig.net [PATCH] uml: Rename Kconfig files to be like the other arches 2005-09-05 00:06:19 -07:00
Kconfig.scsi [PATCH] uml: Rename Kconfig files to be like the other arches 2005-09-05 00:06:19 -07:00
Kconfig.x86_64 [PATCH] uml: mark SMP on UML/x86_64 as broken 2005-09-05 00:06:22 -07:00
Makefile [PATCH] uml: Fix conflict between libc and ipv6 2005-09-21 16:16:30 -07:00
Makefile-i386 [PATCH] lost chunk of "uml: build cleanups" 2005-09-07 17:17:32 -07:00
Makefile-ia64 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile-os-Linux Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile-ppc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile-skas Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile-tt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile-x86_64 [PATCH] sparse on uml (infrastructure bits) 2005-09-09 10:31:58 -07:00