diff options
author | Denys Vlasenko <dvlasenk@redhat.com> | 2015-04-07 22:43:44 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-04-09 10:31:26 +0200 |
commit | a37f34a325d90856314ccd4994e1070dcc6bdcc4 (patch) | |
tree | 9761bec624da40a90c0dfd7b2732fbdd8c9cdec2 | |
parent | 54a81e914b2432a86dd49cf611b0f71ef44ca7ad (diff) | |
download | linux-a37f34a325d90856314ccd4994e1070dcc6bdcc4.tar.bz2 |
x86/asm/entry/64: Reduce padding in execve stubs
execve stubs are 7 bytes only. Padding them to 16 bytes is a
waste.
text data bss dec hex filename
12594 0 0 12594 3132 entry_64.o.before
12530 0 0 12530 30f2 entry_64.o
Run-tested.
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: Brian Gerst <brgerst@gmail.com>
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/1428439424-7258-8-git-send-email-dvlasenk@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/x86/kernel/entry_64.S | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index b67f2fc0d160..c7b238494b31 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S @@ -511,8 +511,12 @@ return_from_execve: jmp int_ret_from_sys_call CFI_ENDPROC END(stub_execve) - -ENTRY(stub_execveat) +/* + * Remaining execve stubs are only 7 bytes long. + * ENTRY() often aligns to 16 bytes, which in this case has no benefits. + */ + .align 8 +GLOBAL(stub_execveat) CFI_STARTPROC DEFAULT_FRAME 0, 8 call sys_execveat @@ -521,14 +525,16 @@ ENTRY(stub_execveat) END(stub_execveat) #ifdef CONFIG_X86_X32_ABI -ENTRY(stub_x32_execve) + .align 8 +GLOBAL(stub_x32_execve) CFI_STARTPROC DEFAULT_FRAME 0, 8 call compat_sys_execve jmp return_from_execve CFI_ENDPROC END(stub_x32_execve) -ENTRY(stub_x32_execveat) + .align 8 +GLOBAL(stub_x32_execveat) CFI_STARTPROC DEFAULT_FRAME 0, 8 call compat_sys_execveat @@ -538,13 +544,15 @@ END(stub_x32_execveat) #endif #ifdef CONFIG_IA32_EMULATION -ENTRY(stub32_execve) + .align 8 +GLOBAL(stub32_execve) CFI_STARTPROC call compat_sys_execve jmp return_from_execve CFI_ENDPROC END(stub32_execve) -ENTRY(stub32_execveat) + .align 8 +GLOBAL(stub32_execveat) CFI_STARTPROC call compat_sys_execveat jmp return_from_execve |