[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YlV+B8faRD2lDoO3@zn.tnic>
Date: Tue, 12 Apr 2022 15:26:31 +0200
From: Borislav Petkov <bp@...en8.de>
To: Lai Jiangshan <jiangshanlai@...il.com>
Cc: linux-kernel@...r.kernel.org,
Peter Zijlstra <peterz@...radead.org>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Andy Lutomirski <luto@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>, x86@...nel.org,
Lai Jiangshan <jiangshan.ljs@...group.com>,
Ingo Molnar <mingo@...hat.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
"H. Peter Anvin" <hpa@...or.com>
Subject: Re: [PATCH V5 3/7] x86/entry: Move PUSH_AND_CLEAR_REGS out of
error_entry()
On Tue, Apr 12, 2022 at 08:15:37PM +0800, Lai Jiangshan wrote:
> From: Lai Jiangshan <jiangshan.ljs@...group.com>
>
> error_entry() doesn't handle the stack balanced.
What does that mean?
> It includes
> PUSH_AND_CLEAR_REGS which is commonly needed for all IDT entries and
> can't pop the regs before it returns.
>
> Move PUSH_AND_CLEAR_REGS out of error_entry() and make error_entry()
> works on the stack normally.
>
> After this, XENPV doesn't need error_entry() since PUSH_AND_CLEAR_REGS
> is moved out and error_entry() can be converted to C code in future
> since it doesn't fiddle the stack.
This is not a justification for this size increase:
text data bss dec hex filename
16060616 128131358 36384888 180576862 ac3625e vmlinux.before
16065626 128131358 36380792 180577776 ac365f0 vmlinux.after
~5K text increase already with my tailored config.
You can have a asm_error_entry(), written in asm, which does the regs
pushing and which calls error_entry() - the latter being the C version.
And no need for the size increase.
For example.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
Powered by blists - more mailing lists