[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6e8a7549-9c0a-f863-fc7d-fcbfcb642bc4@oracle.com>
Date: Thu, 7 May 2020 15:15:27 +0200
From: Alexandre Chartre <alexandre.chartre@...cle.com>
To: Thomas Gleixner <tglx@...utronix.de>,
LKML <linux-kernel@...r.kernel.org>
Cc: x86@...nel.org, "Paul E. McKenney" <paulmck@...nel.org>,
Andy Lutomirski <luto@...nel.org>,
Frederic Weisbecker <frederic@...nel.org>,
Paolo Bonzini <pbonzini@...hat.com>,
Sean Christopherson <sean.j.christopherson@...el.com>,
Masami Hiramatsu <mhiramat@...nel.org>,
Petr Mladek <pmladek@...e.com>,
Steven Rostedt <rostedt@...dmis.org>,
Joel Fernandes <joel@...lfernandes.org>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Juergen Gross <jgross@...e.com>,
Brian Gerst <brgerst@...il.com>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Will Deacon <will@...nel.org>
Subject: Re: [patch V4 part 2 02/18] x86/entry/32: Move non entry code into
.text section
On 5/5/20 3:41 PM, Thomas Gleixner wrote:
> All ASM code which is not part of the entry functionality can move out into
> the .text section. No reason to keep it in the non-instrumentable entry
> section.
>
> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
> ---
> arch/x86/entry/entry_32.S | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> --- a/arch/x86/entry/entry_32.S
> +++ b/arch/x86/entry/entry_32.S
> @@ -729,7 +729,8 @@
> /*
> * %eax: prev task
> * %edx: next task
> - */
> +*/
Misaligned comment end, this line shouldn't change.
alex.
> +.pushsection .text, "ax"
> SYM_CODE_START(__switch_to_asm)
> /*
> * Save callee-saved registers
> @@ -776,6 +777,7 @@ SYM_CODE_START(__switch_to_asm)
>
> jmp __switch_to
> SYM_CODE_END(__switch_to_asm)
> +.popsection
>
> /*
> * The unwinder expects the last frame on the stack to always be at the same
> @@ -784,6 +786,7 @@ SYM_CODE_END(__switch_to_asm)
> * asmlinkage function so its argument has to be pushed on the stack. This
> * wrapper creates a proper "end of stack" frame header before the call.
> */
> +.pushsection .text, "ax"
> SYM_FUNC_START(schedule_tail_wrapper)
> FRAME_BEGIN
>
> @@ -794,6 +797,8 @@ SYM_FUNC_START(schedule_tail_wrapper)
> FRAME_END
> ret
> SYM_FUNC_END(schedule_tail_wrapper)
> +.popsection
> +
> /*
> * A newly forked process directly context switches into this address.
> *
> @@ -801,6 +806,7 @@ SYM_FUNC_END(schedule_tail_wrapper)
> * ebx: kernel thread func (NULL for user thread)
> * edi: kernel thread arg
> */
> +.pushsection .text, "ax"
> SYM_CODE_START(ret_from_fork)
> call schedule_tail_wrapper
>
> @@ -825,6 +831,7 @@ SYM_CODE_START(ret_from_fork)
> movl $0, PT_EAX(%esp)
> jmp 2b
> SYM_CODE_END(ret_from_fork)
> +.popsection
>
> /*
> * Return to user mode is not as complex as all this looks,
> @@ -1693,6 +1700,7 @@ SYM_CODE_START(general_protection)
> jmp common_exception
> SYM_CODE_END(general_protection)
>
> +.pushsection .text, "ax"
> SYM_CODE_START(rewind_stack_do_exit)
> /* Prevent any naive code from trying to unwind to our caller. */
> xorl %ebp, %ebp
> @@ -1703,3 +1711,4 @@ SYM_CODE_START(rewind_stack_do_exit)
> call do_exit
> 1: jmp 1b
> SYM_CODE_END(rewind_stack_do_exit)
> +.popsection
>
Powered by blists - more mailing lists