kernel-ark/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
checksum.S
delay.c
fault.c
ksyms.c
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
ptrace.c [PATCH] uml: more carefully test whether we are in a system call 2006-03-27 08:44:38 -08:00
sigcontext.c
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
syscalls.c
sysrq.c [PATCH] uml: Fix sysrq-r support for skas mode 2005-10-04 13:22:01 -07:00
unmap.c
user-offsets.c [PATCH] uml: move libc-dependent irq code to os-Linux 2006-03-27 08:44:37 -08:00