diff options
author | Andi Kleen <ak@suse.de> | 2006-04-07 13:49:12 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-09 14:53:16 -0400 |
commit | 805e8c03c9ea9bdb402a36341e02ec24825d5417 (patch) | |
tree | c7047d0e3b2e72a7885bfce80369c25c89936821 /arch | |
parent | 903fcc608e9f531749024172277dc2fd15d5a587 (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.S | 16 |
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 | |||
428 | exec_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 |