linux/arch/um/sys-x86_64
Jeff Dike 98c18238f1 [PATCH] uml: fix segfault on signal delivery
This fixes a process segfault where a signal was being delivered such that a
new stack page needed to be allocated to hold the signal frame.  This was
tripping some logic in the page fault handler which wouldn't allocate the page
if the faulting address was more that 32 bytes lower than the current stack
pointer.  Since a signal frame is greater than 32 bytes, this exercised that
case.

It's fixed by updating the SP in the pt_regs before starting to copy the
signal frame.  Since those are the registers that will be copied on to the
stack, we have to be careful to put the original SP, not the new one which
points to the signal frame, on the stack.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:38 -08:00
..
bugs.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
delay.c [PATCH] uml: Delay loop cleanups 2005-05-20 15:48:17 -07:00
fault.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ksyms.c [PATCH] uml: small fixes left over from rc4 2005-05-20 15:48:17 -07:00
Makefile [PATCH] uml: fix compilation with CONFIG_MODE_TT disabled 2005-12-29 09:48:15 -08:00
mem.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ptrace_user.c [PATCH] uml: initialize process FP registers properly 2006-02-07 16:12:32 -08:00
ptrace.c [PATCH] uml: more carefully test whether we are in a system call 2006-03-27 08:44:38 -08:00
sigcontext.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal.c [PATCH] uml: fix segfault on signal delivery 2006-03-27 08:44:38 -08:00
stub_segv.c [PATCH] uml: properly invoke x86_64 system calls 2005-11-22 09:13:41 -08:00
stub.S [PATCH] uml: skas0 stubs now check system call return values 2005-09-05 00:06:24 -07:00
syscall_table.c [PATCH] uml: fix syscall table by including $(SUBARCH)'s one, for x86-64 2005-05-01 08:58:55 -07:00
syscalls.c [PATCH] uml: maintain own LDT entries 2005-11-07 07:53:31 -08:00
sysrq.c [PATCH] uml: stack dump fix 2005-05-28 16:46:13 -07:00
um_module.c [PATCH] uml: kludgy compilation fixes for x86-64 subarch modules support 2005-05-05 16:36:33 -07:00
unmap.c [PATCH] uml: workaround host bug in "TT mode vs. NPTL link fix" 2005-07-14 09:00:24 -07:00
user-offsets.c [PATCH] uml: move libc-dependent irq code to os-Linux 2006-03-27 08:44:37 -08:00