linux/arch/um/sys-i386
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
checksum.S [PATCH] uml: s390 preparation, checksumming done in arch code 2005-05-05 16:36:38 -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: s390 preparation, delay moved to arch 2005-05-05 16:36:38 -07:00
ldt.c [PATCH] uml: fix usage of kernel_errno in place of errno 2006-02-24 14:31:37 -08:00
Makefile [PATCH] uml: fix compilation with CONFIG_MODE_TT disabled 2005-12-29 09:48:15 -08:00
ptrace_user.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07: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
sys_call_table.S [PATCH] uml: fix syscall table by including $(SUBARCH)'s one, for i386 2005-05-01 08:58:55 -07:00
syscalls.c [PATCH] uml: fork cleanup 2005-06-25 16:24:35 -07:00
sysrq.c [PATCH] uml: Fix sysrq-r support for skas mode 2005-10-04 13:22:01 -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