
[ Upstream commit 9ac50f7311dc8b39e355582f14c1e82da47a8196 ] Thanks to CONFIG_DEBUG_SECTION_MISMATCH, empty functions can be generated out of line. These can be called from noinstr code, so make sure they're always inlined. Fixes the following warnings: vmlinux.o: warning: objtool: irqentry_nmi_enter+0xa2: call to ct_nmi_enter() leaves .noinstr.text section vmlinux.o: warning: objtool: irqentry_nmi_exit+0x16: call to ct_nmi_exit() leaves .noinstr.text section vmlinux.o: warning: objtool: irqentry_exit+0x78: call to ct_irq_exit() leaves .noinstr.text section Fixes: 6f0e6c1598b1 ("context_tracking: Take IRQ eqs entrypoints over RCU") Reported-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Frederic Weisbecker <frederic@kernel.org> Cc: Paul E. McKenney <paulmck@kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: https://lore.kernel.org/r/8509bce3f536bcd4ae7af3a2cf6930d48c5e631a.1743481539.git.jpoimboe@kernel.org Closes: https://lore.kernel.org/d1eca076-fdde-484a-b33e-70e0d167c36d@infradead.org Signed-off-by: Sasha Levin <sashal@kernel.org>
22 lines
633 B
C
22 lines
633 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_CONTEXT_TRACKING_IRQ_H
|
|
#define _LINUX_CONTEXT_TRACKING_IRQ_H
|
|
|
|
#ifdef CONFIG_CONTEXT_TRACKING_IDLE
|
|
void ct_irq_enter(void);
|
|
void ct_irq_exit(void);
|
|
void ct_irq_enter_irqson(void);
|
|
void ct_irq_exit_irqson(void);
|
|
void ct_nmi_enter(void);
|
|
void ct_nmi_exit(void);
|
|
#else
|
|
static __always_inline void ct_irq_enter(void) { }
|
|
static __always_inline void ct_irq_exit(void) { }
|
|
static inline void ct_irq_enter_irqson(void) { }
|
|
static inline void ct_irq_exit_irqson(void) { }
|
|
static __always_inline void ct_nmi_enter(void) { }
|
|
static __always_inline void ct_nmi_exit(void) { }
|
|
#endif
|
|
|
|
#endif
|