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


Groups > linux.kernel > #1722476 > unrolled thread

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

Started bytip-bot for Jiri Slaby <tipbot@zytor.com>
First post2017-08-29 15:20 +0200
Last post2017-08-29 15:20 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [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

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

Fromtip-bot for Jiri Slaby <tipbot@zytor.com>
Date2017-08-29 15:20 +0200
Subject[tip:x86/asm] x86/entry/64: Use ENTRY() instead of ALIGN+GLOBAL for stub32_clone()
Message-ID<ujOAX-37c-43@gated-at.bofh.it>
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)

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web