aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2015-04-21 12:03:13 -0400
committerIngo Molnar <mingo@kernel.org>2015-04-22 02:41:44 -0400
commitac7f5dfb0348a33b2ea92a0c477103c4db45ad4e (patch)
tree1ca083075465ef080abd89ffc5a7ce164a038367
parent17be0aec74fb036eb4eb32c2268f3420a034762b (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.S23
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
526END(stub_execveat) 526END(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
530GLOBAL(stub_x32_execve) 530GLOBAL(stub_x32_execve)
531GLOBAL(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
537END(stub32_execve)
536END(stub_x32_execve) 538END(stub_x32_execve)
537 .align 8 539 .align 8
538GLOBAL(stub_x32_execveat) 540GLOBAL(stub_x32_execveat)
539 CFI_STARTPROC
540 DEFAULT_FRAME 0, 8
541 call compat_sys_execveat
542 jmp return_from_execve
543 CFI_ENDPROC
544END(stub_x32_execveat)
545#endif
546
547#ifdef CONFIG_IA32_EMULATION
548 .align 8
549GLOBAL(stub32_execve)
550 CFI_STARTPROC
551 call compat_sys_execve
552 jmp return_from_execve
553 CFI_ENDPROC
554END(stub32_execve)
555 .align 8
556GLOBAL(stub32_execveat) 541GLOBAL(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
561END(stub32_execveat) 547END(stub32_execveat)
548END(stub_x32_execveat)
562#endif 549#endif
563 550
564/* 551/*