Re: [PATCH v2 05/23] x86,entry_64: Remove .fixup usage

From: Lai Jiangshan
Date: Fri Nov 19 2021 - 03:00:53 EST


On Wed, Nov 10, 2021 at 6:19 PM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> Place the anonymous .fixup code at the tail of the regular functions.
>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>

Reviewed-by: Lai Jiangshan <jiangshanlai@xxxxxxxxx>

> ---
> arch/x86/entry/entry_64.S | 13 ++++++-------
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
> --- a/arch/x86/entry/entry_64.S
> +++ b/arch/x86/entry/entry_64.S
> @@ -735,13 +735,9 @@ SYM_FUNC_START(asm_load_gs_index)
> swapgs
> FRAME_END
> ret
> -SYM_FUNC_END(asm_load_gs_index)
> -EXPORT_SYMBOL(asm_load_gs_index)
>
> - _ASM_EXTABLE(.Lgs_change, .Lbad_gs)
> - .section .fixup, "ax"
> /* running with kernelgs */
> -SYM_CODE_START_LOCAL_NOALIGN(.Lbad_gs)
> +.Lbad_gs:
> swapgs /* switch back to user gs */
> .macro ZAP_GS
> /* This can't be a string because the preprocessor needs to see it. */
> @@ -752,8 +748,11 @@ SYM_CODE_START_LOCAL_NOALIGN(.Lbad_gs)
> xorl %eax, %eax
> movl %eax, %gs
> jmp 2b
> -SYM_CODE_END(.Lbad_gs)
> - .previous
> +
> + _ASM_EXTABLE(.Lgs_change, .Lbad_gs)
> +
> +SYM_FUNC_END(asm_load_gs_index)
> +EXPORT_SYMBOL(asm_load_gs_index)
>
> #ifdef CONFIG_XEN_PV
> /*
>
>