From: tip-bot for Denys Vlasenko <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: oleg@redhat.com, torvalds@linux-foundation.org,
tglx@linutronix.de, brgerst@gmail.com, wad@chromium.org,
luto@amacapital.net, linux-kernel@vger.kernel.org,
keescook@chromium.org, dvlasenk@redhat.com, ast@plumgrid.com,
mingo@kernel.org, bp@alien8.de, rostedt@goodmis.org,
fweisbec@gmail.com, hpa@zytor.com
Subject: [tip:x86/asm] x86/asm/entry/64: Reduce padding in execve stubs
Date: Thu, 9 Apr 2015 02:04:07 -0700 [thread overview]
Message-ID: <tip-a37f34a325d90856314ccd4994e1070dcc6bdcc4@git.kernel.org> (raw)
In-Reply-To: <1428439424-7258-8-git-send-email-dvlasenk@redhat.com>
Commit-ID: a37f34a325d90856314ccd4994e1070dcc6bdcc4
Gitweb: http://git.kernel.org/tip/a37f34a325d90856314ccd4994e1070dcc6bdcc4
Author: Denys Vlasenko <dvlasenk@redhat.com>
AuthorDate: Tue, 7 Apr 2015 22:43:44 +0200
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 9 Apr 2015 10:31:26 +0200
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>
---
arch/x86/kernel/entry_64.S | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index b67f2fc..c7b2384 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
next prev parent reply other threads:[~2015-04-09 9:05 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-07 20:43 [PATCH 1/8] x86/asm/entry/64: Use common code for rt_sigreturn epilogue Denys Vlasenko
2015-04-07 20:43 ` [PATCH 2/8] x86/asm/entry/64: Move stub_x32_execve[at] closer to stub_execveat Denys Vlasenko
2015-04-09 9:02 ` [tip:x86/asm] x86/asm/entry/64: Move stub_x32_execvecloser() to stub_execveat() tip-bot for Denys Vlasenko
2015-04-07 20:43 ` [PATCH 3/8] x86/asm/entry: Zero EXTRA_REGS for stub32_execve[at] too Denys Vlasenko
2015-04-08 2:39 ` Brian Gerst
2015-04-09 9:02 ` [tip:x86/asm] x86/asm/entry: Zero EXTRA_REGS for stub32_execve() too tip-bot for Denys Vlasenko
2015-04-07 20:43 ` [PATCH 4/8] x86/asm/entry/64: optimize [v]fork/clone stubs Denys Vlasenko
2015-04-09 9:02 ` [tip:x86/asm] x86/asm/entry/64: Optimize " tip-bot for Denys Vlasenko
2015-04-07 20:43 ` [PATCH 5/8] x86/asm/entry/64: remove a redundant jump Denys Vlasenko
2015-04-09 9:03 ` [tip:x86/asm] x86/asm/entry/64: Remove " tip-bot for Denys Vlasenko
2015-04-07 20:43 ` [PATCH 6/8] x86/asm/entry/64: simplify jumps in ret_from_fork Denys Vlasenko
2015-04-09 9:03 ` [tip:x86/asm] x86/asm/entry/64: Simplify " tip-bot for Denys Vlasenko
2015-04-07 20:43 ` [PATCH 7/8] x86/asm/entry/64: Remove GET_THREAD_INFO " Denys Vlasenko
2015-04-09 9:03 ` [tip:x86/asm] x86/asm/entry/64: Remove GET_THREAD_INFO() " tip-bot for Denys Vlasenko
2015-04-07 20:43 ` [PATCH 8/8] x86/asm/entry/64: Reduce padding in execve stubs Denys Vlasenko
2015-04-09 9:04 ` tip-bot for Denys Vlasenko [this message]
2015-04-09 9:01 ` [tip:x86/asm] x86/asm/entry/64: Use common code for rt_sigreturn( ) epilogue tip-bot for Denys Vlasenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-a37f34a325d90856314ccd4994e1070dcc6bdcc4@git.kernel.org \
--to=tipbot@zytor.com \
--cc=ast@plumgrid.com \
--cc=bp@alien8.de \
--cc=brgerst@gmail.com \
--cc=dvlasenk@redhat.com \
--cc=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mingo@kernel.org \
--cc=oleg@redhat.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=wad@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.