|
Message-ID: <CABCJKufsYiBX6a0cmaX4D+3RDDKLLeRLAuTZgxO4=QryHYUptQ@mail.gmail.com> Date: Wed, 19 Feb 2020 10:01:14 -0800 From: Sami Tolvanen <samitolvanen@...gle.com> To: Mark Rutland <mark.rutland@....com> Cc: Will Deacon <will@...nel.org>, Catalin Marinas <catalin.marinas@....com>, Steven Rostedt <rostedt@...dmis.org>, Masami Hiramatsu <mhiramat@...nel.org>, Ard Biesheuvel <ard.biesheuvel@...aro.org>, James Morse <james.morse@....com>, Dave Martin <Dave.Martin@....com>, Kees Cook <keescook@...omium.org>, Laura Abbott <labbott@...hat.com>, Marc Zyngier <maz@...nel.org>, Nick Desaulniers <ndesaulniers@...gle.com>, Jann Horn <jannh@...gle.com>, Miguel Ojeda <miguel.ojeda.sandonis@...il.com>, Masahiro Yamada <yamada.masahiro@...ionext.com>, clang-built-linux <clang-built-linux@...glegroups.com>, Kernel Hardening <kernel-hardening@...ts.openwall.com>, linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>, LKML <linux-kernel@...r.kernel.org> Subject: Re: [PATCH v8 04/12] scs: disable when function graph tracing is enabled On Wed, Feb 19, 2020 at 3:34 AM Mark Rutland <mark.rutland@....com> wrote: > Fangrui Song has implemented `-fpatchable-function-entry` in LLVM (for > 10.x onwards), so we can support this when DYNAMIC_FTRACE_WITH_REGS is > selected. > > This can be: > > depends on DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER > > ... and we can update the commit message to something like: > > | With SCS the return address is taken from the shadow stack and the > | value in the frame record has no effect. The mcount based graph tracer > | hooks returns by modifying frame records on the (regular) stack, and > | thus is not compatible. The patchable-function-entry graph tracer > | used for DYNAMIC_FTRACE_WITH_REGS modifies the LR before it is saved > | to the shadow stack, and is compatible. > | > | Modifying the mcount based graph tracer to work with SCS would require > | a mechanism to determine the corresponding slot on the shadow stack > | (and to pass this through the ftrace infrastructure), and we expect > | that everyone will eventually move to the patchable-function-entry > | based graph tracer anyway, so for now let's disable SCS when the > | mcount-based graph tracer is enabled. > | > | SCS and patchable-function-entry are both supported from LLVM 10.x. > > Assuming you're happy with that: > > Reviewed-by: Mark Rutland <mark.rutland@....com> Great, thanks for pointing that out! This looks good to me, I'll use this in v9. Sami
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.