From c695a9e4ec864618beac11092c94c8f46a5912d6 Mon Sep 17 00:00:00 2001 From: Sami Tolvanen Date: Mon, 15 Jun 2020 07:51:00 -0700 Subject: [PATCH] x86/entry: disable CFI for run_on_irqstack_cond run_on_irqstack_cond casts callback functions to mismatching types, which trips indirect call Control-Flow Integrity (CFI) checking. Link: https://github.com/ClangBuiltLinux/linux/issues/1052 Signed-off-by: Sami Tolvanen --- arch/x86/include/asm/irq_stack.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/include/asm/irq_stack.h b/arch/x86/include/asm/irq_stack.h index 4ae66f097101d1..11d5cf8ebea4c8 100644 --- a/arch/x86/include/asm/irq_stack.h +++ b/arch/x86/include/asm/irq_stack.h @@ -37,6 +37,7 @@ static __always_inline bool irq_needs_irq_stack(struct pt_regs *regs) return !user_mode(regs) && !irqstack_active(); } +__nocfi static __always_inline void run_on_irqstack_cond(void *func, void *arg, struct pt_regs *regs) {