aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-04-07 13:49:12 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-09 14:53:16 -0400
commit805e8c03c9ea9bdb402a36341e02ec24825d5417 (patch)
treec7047d0e3b2e72a7885bfce80369c25c89936821 /arch
parent903fcc608e9f531749024172277dc2fd15d5a587 (diff)
[PATCH] x86_64: Clean up execve path
Just call IRET always, no need for any special cases. Needed for the next bug fix. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86_64/kernel/entry.S16
1 files changed, 0 insertions, 16 deletions
diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S
index 8538bfea30e6..10ec27b607f1 100644
--- a/arch/x86_64/kernel/entry.S
+++ b/arch/x86_64/kernel/entry.S
@@ -408,25 +408,9 @@ ENTRY(stub_execve)
408 CFI_ADJUST_CFA_OFFSET -8 408 CFI_ADJUST_CFA_OFFSET -8
409 CFI_REGISTER rip, r11 409 CFI_REGISTER rip, r11
410 SAVE_REST 410 SAVE_REST
411 movq %r11, %r15
412 CFI_REGISTER rip, r15
413 FIXUP_TOP_OF_STACK %r11 411 FIXUP_TOP_OF_STACK %r11
414 call sys_execve 412 call sys_execve
415 GET_THREAD_INFO(%rcx)
416 bt $TIF_IA32,threadinfo_flags(%rcx)
417 CFI_REMEMBER_STATE
418 jc exec_32bit
419 RESTORE_TOP_OF_STACK %r11 413 RESTORE_TOP_OF_STACK %r11
420 movq %r15, %r11
421 CFI_REGISTER rip, r11
422 RESTORE_REST
423 pushq %r11
424 CFI_ADJUST_CFA_OFFSET 8
425 CFI_REL_OFFSET rip, 0
426 ret
427
428exec_32bit:
429 CFI_RESTORE_STATE
430 movq %rax,RAX(%rsp) 414 movq %rax,RAX(%rsp)
431 RESTORE_REST 415 RESTORE_REST
432 jmp int_ret_from_sys_call 416 jmp int_ret_from_sys_call