x86/entry/64: Use ENTRY() instead of ALIGN+GLOBAL for stub32_clone()
authorJiri Slaby <jslaby@suse.cz>
Thu, 24 Aug 2017 08:06:24 +0000 (10:06 +0200)
committerIngo Molnar <mingo@kernel.org>
Tue, 29 Aug 2017 11:23:30 +0000 (13:23 +0200)
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

index 5314d7b..4b86d8d 100644 (file)
@@ -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)