Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1722476

[tip:x86/asm] x86/entry/64: Use ENTRY() instead of ALIGN+GLOBAL for stub32_clone()

From tip-bot for Jiri Slaby <tipbot@zytor.com>
Newsgroups linux.kernel
Subject [tip:x86/asm] x86/entry/64: Use ENTRY() instead of ALIGN+GLOBAL for stub32_clone()
Date 2017-08-29 15:20 +0200
Message-ID <ujOAX-37c-43@gated-at.bofh.it> (permalink)
References <uhVwR-3Wx-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Commit-ID:  499934898fcd15e4337dc858be6c09cd9fd74e85
Gitweb:     http://git.kernel.org/tip/499934898fcd15e4337dc858be6c09cd9fd74e85
Author:     Jiri Slaby <jslaby@suse.cz>
AuthorDate: Thu, 24 Aug 2017 10:06:24 +0200
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Tue, 29 Aug 2017 13:23:30 +0200

x86/entry/64: Use ENTRY() instead of ALIGN+GLOBAL for stub32_clone()

ALIGN+GLOBAL is effectively what ENTRY() does, so use ENTRY() which is
dedicated for exactly this purpose -- global functions.

Note that stub32_clone() is a C-like leaf function -- it has a standard
call frame -- it only switches one argument and continues by jumping
into C. Since each ENTRY() should be balanced by some END*() marker, we
add a corresponding ENDPROC() to stub32_clone() too.

Besides that, x86's custom GLOBAL macro is going to die very soon.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20170824080624.7768-2-jslaby@suse.cz
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/entry/entry_64_compat.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/entry/entry_64_compat.S b/arch/x86/entry/entry_64_compat.S
index 5314d7b..4b86d8d 100644
--- a/arch/x86/entry/entry_64_compat.S
+++ b/arch/x86/entry/entry_64_compat.S
@@ -341,8 +341,7 @@ ENTRY(entry_INT80_compat)
 	jmp	restore_regs_and_iret
 END(entry_INT80_compat)
 
-	ALIGN
-GLOBAL(stub32_clone)
+ENTRY(stub32_clone)
 	/*
 	 * The 32-bit clone ABI is: clone(..., int tls_val, int *child_tidptr).
 	 * The 64-bit clone ABI is: clone(..., int *child_tidptr, int tls_val).
@@ -352,3 +351,4 @@ GLOBAL(stub32_clone)
 	 */
 	xchg	%r8, %rcx
 	jmp	sys_clone
+ENDPROC(stub32_clone)

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[tip:x86/asm] x86/entry/64: Use ENTRY() instead of ALIGN+GLOBAL for  stub32_clone() tip-bot for Jiri Slaby <tipbot@zytor.com> - 2017-08-29 15:20 +0200

csiph-web