[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LSU.2.21.2102091644240.31501@pobox.suse.cz>
Date: Tue, 9 Feb 2021 16:45:07 +0100 (CET)
From: Miroslav Benes <mbenes@...e.cz>
To: Peter Zijlstra <peterz@...radead.org>
cc: Josh Poimboeuf <jpoimboe@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Julien Thierry <jthierry@...hat.com>,
Kees Cook <keescook@...omium.org>, x86@...nel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 0/3] objtool: Support the stack swizzle
On Tue, 9 Feb 2021, Peter Zijlstra wrote:
> Hi!
>
> Implement objtool support for the x86_64 stack swizzle pattern.
>
> This means we can use the minial stack swizzle:
>
> mov %rsp, (%[tos])
> mov %[tos], %rsp
> ...
> pop %rsp
>
> from inline asm, with arbitrary stack setup. The ORC data for the Top-of-Stack
> will use the SP_INDIRECT CFA base. In order for this to work, SP_INDIRECT needs
> to first dereference and then add the offset to find the next frame.
>
> Therefore we need to change SP_INDIRECT (which is currently unused) to mean:
> (%rsp) + offset.
>
> Changes since v1 include:
>
> - removed the !callee saved reg restriction by using the vals[] array
> over the regs[] array.
>
> - per the above, removed the patches creating the regs[] scratch space.
>
> - more comments.
>
> - rebased to tip/objtool/core
I haven't tested it, but it all looks good to me.
Reviewed-by: Miroslav Benes <mbenes@...e.cz>
M
Powered by blists - more mailing lists