diff options
author | Denys Vlasenko <dvlasenk@redhat.com> | 2015-04-21 12:03:13 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-04-22 02:41:44 -0400 |
commit | ac7f5dfb0348a33b2ea92a0c477103c4db45ad4e (patch) | |
tree | 1ca083075465ef080abd89ffc5a7ce164a038367 | |
parent | 17be0aec74fb036eb4eb32c2268f3420a034762b (diff) |
x86/asm/entry/64: Merge 32-bit execve stubs with x32 ones, as they are identical
Run-tested.
Suggested-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Drewry <wad@chromium.org>
Link: http://lkml.kernel.org/r/1429632194-13445-1-git-send-email-dvlasenk@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/x86/kernel/entry_64.S | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index 3c78a15a537d..e952f6bf1d6d 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S | |||
@@ -525,40 +525,27 @@ GLOBAL(stub_execveat) | |||
525 | CFI_ENDPROC | 525 | CFI_ENDPROC |
526 | END(stub_execveat) | 526 | END(stub_execveat) |
527 | 527 | ||
528 | #ifdef CONFIG_X86_X32_ABI | 528 | #if defined(CONFIG_X86_X32_ABI) || defined(CONFIG_IA32_EMULATION) |
529 | .align 8 | 529 | .align 8 |
530 | GLOBAL(stub_x32_execve) | 530 | GLOBAL(stub_x32_execve) |
531 | GLOBAL(stub32_execve) | ||
531 | CFI_STARTPROC | 532 | CFI_STARTPROC |
532 | DEFAULT_FRAME 0, 8 | 533 | DEFAULT_FRAME 0, 8 |
533 | call compat_sys_execve | 534 | call compat_sys_execve |
534 | jmp return_from_execve | 535 | jmp return_from_execve |
535 | CFI_ENDPROC | 536 | CFI_ENDPROC |
537 | END(stub32_execve) | ||
536 | END(stub_x32_execve) | 538 | END(stub_x32_execve) |
537 | .align 8 | 539 | .align 8 |
538 | GLOBAL(stub_x32_execveat) | 540 | GLOBAL(stub_x32_execveat) |
539 | CFI_STARTPROC | ||
540 | DEFAULT_FRAME 0, 8 | ||
541 | call compat_sys_execveat | ||
542 | jmp return_from_execve | ||
543 | CFI_ENDPROC | ||
544 | END(stub_x32_execveat) | ||
545 | #endif | ||
546 | |||
547 | #ifdef CONFIG_IA32_EMULATION | ||
548 | .align 8 | ||
549 | GLOBAL(stub32_execve) | ||
550 | CFI_STARTPROC | ||
551 | call compat_sys_execve | ||
552 | jmp return_from_execve | ||
553 | CFI_ENDPROC | ||
554 | END(stub32_execve) | ||
555 | .align 8 | ||
556 | GLOBAL(stub32_execveat) | 541 | GLOBAL(stub32_execveat) |
557 | CFI_STARTPROC | 542 | CFI_STARTPROC |
543 | DEFAULT_FRAME 0, 8 | ||
558 | call compat_sys_execveat | 544 | call compat_sys_execveat |
559 | jmp return_from_execve | 545 | jmp return_from_execve |
560 | CFI_ENDPROC | 546 | CFI_ENDPROC |
561 | END(stub32_execveat) | 547 | END(stub32_execveat) |
548 | END(stub_x32_execveat) | ||
562 | #endif | 549 | #endif |
563 | 550 | ||
564 | /* | 551 | /* |