diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-21 13:06:00 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-21 13:06:00 -0700 |
commit | e990c77d06dbacc8e5c5edd2c4a1005d318a4fa6 (patch) | |
tree | da0e56801bc28204ad3e51652d8e0393d7170060 /arch/x86/kernel | |
parent | 2f0384e5fc4766ad909597547d0e2b716c036755 (diff) | |
parent | d7acb92fea932ad2e7846480aeacddc2c03c8485 (diff) |
Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86-64, asm: If the assembler supports fxsave64, use it
i386: Make kernel_execve() suitable for stack unwinding
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/sys_i386_32.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kernel/sys_i386_32.c b/arch/x86/kernel/sys_i386_32.c index d5e06624e34..0b0cb5fede1 100644 --- a/arch/x86/kernel/sys_i386_32.c +++ b/arch/x86/kernel/sys_i386_32.c @@ -33,8 +33,8 @@ int kernel_execve(const char *filename, const char *const envp[]) { long __res; - asm volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" + asm volatile ("int $0x80" : "=a" (__res) - : "0" (__NR_execve), "ri" (filename), "c" (argv), "d" (envp) : "memory"); + : "0" (__NR_execve), "b" (filename), "c" (argv), "d" (envp) : "memory"); return __res; } |