Re: [RFC PATCH 1/7] x86/entry: Move PUSH_AND_CLEAR_REGS out of paranoid_entry

Peter Zijlstra
2023-04-06T20:42:12Z

On Mon, Apr 03, 2023 at 10:05:59PM +0800, Lai Jiangshan wrote:
> @@ -915,11 +922,8 @@ SYM_CODE_END(xen_failsafe_callback)
> * R14 - old CR3
> * R15 - old SPEC_CTRL
> */
> -SYM_CODE_START(paranoid_entry)
> +SYM_FUNC_START(paranoid_entry)
> ANNOTATE_NOENDBR
> - UNWIND_HINT_FUNC

That isn't quite equivalent. SYM_FUNC_START() gets you ENDBR, while the
SYM_CODE_START(); ANNOTATE_NOENDBR; UNWIND_HINT_FUNC is
explicitly no ENDBR.

> - PUSH_AND_CLEAR_REGS save_ret=1
> - ENCODE_FRAME_POINTER 8
>
> /*
> * Always stash CR3 in %r14. This value will be restored,