x86/copy_mc_64: Remove .fixup usage
authorPeter Zijlstra <peterz@infradead.org>
Wed, 10 Nov 2021 10:01:06 +0000 (11:01 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Sat, 11 Dec 2021 08:09:46 +0000 (09:09 +0100)
Place the anonymous .fixup code at the tail of the regular functions.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Reviewed-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20211110101325.127055887@infradead.org
arch/x86/lib/copy_mc_64.S

index 23009792e19cdcafdf1041929d3c0b408530986d..c859a8a09860f866be5372daa40e8193300867f0 100644 (file)
@@ -78,9 +78,7 @@ SYM_FUNC_START(copy_mc_fragile)
        xorl %eax, %eax
 .L_done:
        RET
-SYM_FUNC_END(copy_mc_fragile)
 
-       .section .fixup, "ax"
        /*
         * Return number of bytes not copied for any failure. Note that
         * there is no "tail" handling since the source buffer is 8-byte
@@ -105,14 +103,14 @@ SYM_FUNC_END(copy_mc_fragile)
        movl    %ecx, %edx
        jmp copy_mc_fragile_handle_tail
 
-       .previous
-
        _ASM_EXTABLE_TYPE(.L_read_leading_bytes, .E_leading_bytes, EX_TYPE_DEFAULT_MCE_SAFE)
        _ASM_EXTABLE_TYPE(.L_read_words, .E_read_words, EX_TYPE_DEFAULT_MCE_SAFE)
        _ASM_EXTABLE_TYPE(.L_read_trailing_bytes, .E_trailing_bytes, EX_TYPE_DEFAULT_MCE_SAFE)
        _ASM_EXTABLE(.L_write_leading_bytes, .E_leading_bytes)
        _ASM_EXTABLE(.L_write_words, .E_write_words)
        _ASM_EXTABLE(.L_write_trailing_bytes, .E_trailing_bytes)
+
+SYM_FUNC_END(copy_mc_fragile)
 #endif /* CONFIG_X86_MCE */
 
 /*
@@ -133,9 +131,7 @@ SYM_FUNC_START(copy_mc_enhanced_fast_string)
        /* Copy successful. Return zero */
        xorl %eax, %eax
        RET
-SYM_FUNC_END(copy_mc_enhanced_fast_string)
 
-       .section .fixup, "ax"
 .E_copy:
        /*
         * On fault %rcx is updated such that the copy instruction could
@@ -147,7 +143,7 @@ SYM_FUNC_END(copy_mc_enhanced_fast_string)
        movq %rcx, %rax
        RET
 
-       .previous
-
        _ASM_EXTABLE_TYPE(.L_copy, .E_copy, EX_TYPE_DEFAULT_MCE_SAFE)
+
+SYM_FUNC_END(copy_mc_enhanced_fast_string)
 #endif /* !CONFIG_UML */