Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 19 Feb 2020 12:12:21 -0800
From: Sami Tolvanen <>
To: James Morse <>
Cc: Marc Zyngier <>, Will Deacon <>, 
	Catalin Marinas <>, Steven Rostedt <>, 
	Masami Hiramatsu <>, Ard Biesheuvel <>, 
	Mark Rutland <>, Dave Martin <>, 
	Kees Cook <>, Laura Abbott <>, 
	Nick Desaulniers <>, Jann Horn <>, 
	Miguel Ojeda <>, 
	Masahiro Yamada <>, 
	clang-built-linux <>, 
	Kernel Hardening <>, 
	linux-arm-kernel <>, LKML <>
Subject: Re: [PATCH v8 00/12] add support for Clang's Shadow Call Stack

On Wed, Feb 19, 2020 at 10:38 AM James Morse <> wrote:
> This looks like reserving x18 is causing Clang to not-inline the __kern_hyp_va() calls,
> losing the vitally important section information. (I can see why the compiler thinks this
> is fair)

Thanks for catching this. This doesn't appear to be caused by
reserving x18, it looks like SCS itself is causing clang to avoid
inlining these. If I add __noscs to __kern_hyp_va(), clang inlines the
function again. __always_inline also works, as you pointed out.

> Is this a known, er, thing, with clang-9?

I can reproduce this with ToT clang as well.

> I suspect repainting all KVM's 'inline' with __always_inline will fix it. (yuck!) I'll try
> tomorrow.

I think switching to __always_inline is the correct solution here.


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.