linux/arch/um/kernel
Jeff Dike 39d730ab87 [PATCH] uml: eliminate use of local in clone stub
We have a bug in the i386 stub_syscall6 which pushes ebp before the system
call and pops it afterwards.  Because we use syscall6 to remap the stack, the
old contents of the stack (and the former value of ebp) are no longer
available.  Some versions of gcc make from a real local, accessed through ebp,
despite my efforts to make it obvious that references to from are really
constants.  This patch attempts to make it even more obvious by eliminating
from and using a macro to access the stub's data explicitly with constants.

My original thinking on this was to replace syscall6 with a remap_stack
interface which saved ebp someplace and restored it afterwards.  The problem
is that there are no registers to put it in, except for esp.  That could work,
since we can store a constant in esp after the mmap because we just replaced
the stack.  However, this approach seems a tad cleaner.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-22 09:13:41 -08:00
..
skas [PATCH] uml: eliminate use of local in clone stub 2005-11-22 09:13:41 -08:00
tt [PATCH] uml: fix access_ok 2005-11-13 18:14:15 -08:00
asm-offsets.c kbuild: um fix so it compile with generic asm-offsets.h support 2005-09-09 23:10:54 +02:00
config.c.in Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dyn.lds.S [PATCH] i386 / uml: add dwarf sections to static link script 2005-09-10 12:00:17 -07:00
exec_kern.c [PATCH] uml: remove 2_5compat.h 2005-05-28 16:46:11 -07:00
exitcode.c [PATCH] uml: Clean up prink calls 2005-07-28 21:46:05 -07:00
gmon_syms.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gprof_syms.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
init_task.c [PATCH] uml: move libc code out of mem_user.c and tempfile.c 2005-09-17 11:50:00 -07:00
initrd.c [PATCH] uml: initrd cleanup 2005-05-20 15:48:18 -07:00
irq_user.c [PATCH] uml: add and use generic hw_controller_type->release 2005-06-21 19:07:32 -07:00
irq.c [PATCH] useless linux/irq.h includes (arch/um) 2005-09-30 08:42:24 -07:00
ksyms.c [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
Makefile [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
mem.c [PATCH] uml: fix hardcoded ZONE_* constants in zone setup 2005-11-07 07:53:32 -08:00
physmem.c [PATCH] uml: big memory fixes 2005-11-07 07:53:31 -08:00
process_kern.c [PATCH] mm: uml pte atomicity 2005-10-29 21:40:42 -07:00
ptrace.c [PATCH] consolidate sys_ptrace() 2005-11-07 07:53:42 -08:00
reboot.c [PATCH] Don't export machine_restart, machine_halt, or machine_power_off. 2005-07-26 14:35:42 -07:00
resource.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigio_kern.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigio_user.c [PATCH] kfree cleanup: arch 2005-11-07 07:54:06 -08:00
signal_kern.c [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00
signal_user.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
syscall_kern.c [PATCH] uml: fork cleanup 2005-06-25 16:24:35 -07:00
syscall.c [PATCH] uml: system call path cleanup 2005-09-05 00:06:23 -07:00
sysrq.c [PATCH] uml: Fix sysrq-r support for skas mode 2005-10-04 13:22:01 -07:00
time_kern.c [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
time.c [PATCH] uml: Proper clone support for skas0 2005-07-07 18:23:44 -07:00
tlb.c [PATCH] uml: fix condition in tlb flush 2005-09-22 22:17:36 -07:00
trap_kern.c [PATCH] uml: remove bogus WARN_ON, triggerable harmlessly on a page fault race 2005-11-13 18:14:14 -08:00
trap_user.c [PATCH] uml: remove debugging code from page fault path 2005-09-05 00:06:19 -07:00
tty_log.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uaccess.c [PATCH] uml: separate libc-dependent uaccess code 2005-11-07 07:53:31 -08:00
um_arch.c [PATCH] uml: big memory fixes 2005-11-07 07:53:31 -08:00
umid.c [PATCH] strlcat: use for uml umid.c 2005-09-22 22:17:36 -07:00
uml.lds.S [PATCH] i386 / uml: add dwarf sections to static link script 2005-09-10 12:00:17 -07:00
user_util.c [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
vmlinux.lds.S [PATCH] uml: include the linker script rather than symlink it 2005-05-05 16:36:33 -07:00