Re: [clang] stack protector and f1f029c7bf

From: Nick Desaulniers
Date: Fri May 25 2018 - 07:00:44 EST


On Thu, May 24, 2018 at 11:20 AM <hpa@xxxxxxxxx> wrote:
> A stack canary on an *inlined* function? That's bound to break things
elsewhere too sooner or later.

But it's *not* inlined by GCC or Clang.

While the function is marked `static inline`, it's not in
arch/x86/kernel/paravirt.o due to:
arch/x86/kernel/paravirt.c:326

325 __visible struct pv_irq_ops pv_irq_ops = {

326 .save_fl = __PV_IS_CALLEE_SAVE(native_save_fl),

see comparison of disassembly attached in:
https://bugs.llvm.org/attachment.cgi?id=20338
--
Thanks,
~Nick Desaulniers