# Re: \[PATCH v8 00/12\] add support for Clang's Shadow Call Stack

- From: Sami Tolvanen \<samitolvanen@google.com\>
- Date: 2020-02-19 20:12:36 
- List: linux-arm-kernel
- Page: https://ratatoskr.run/linux-arm-kernel/2020/02/5868072
- Thread: https://ratatoskr.run/linux-arm-kernel/2019/10/5749629/t/5.md

```text
On Wed, Feb 19, 2020 at 10:38 AM James Morse [ref] 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.

Sami

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
```
