On 28/08/18 07:13, Greg Kroah-Hartman wrote: > On Mon, Aug 27, 2018 at 02:40:09PM -0700, Nick Desaulniers wrote: >> Fixes commit 208cbb325589 ("x86/irqflags: Provide a declaration for >> native_save_fl") >> >> This should have been marked extern inline in order to pick up the out >> of line definition in arch/x86/kernel/irqflags.S. >> >> Cc: sta...@vger.kernel.org # 4.18, 4.14, 4.9, 4.4 >> Reported-by: Ben Hutchings <ben.hutchi...@codethink.co.uk> >> Signed-off-by: Nick Desaulniers <ndesaulni...@google.com> >> --- >> arch/x86/include/asm/irqflags.h | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/arch/x86/include/asm/irqflags.h >> b/arch/x86/include/asm/irqflags.h >> index c14f2a74b2be..15450a675031 100644 >> --- a/arch/x86/include/asm/irqflags.h >> +++ b/arch/x86/include/asm/irqflags.h >> @@ -33,7 +33,8 @@ extern inline unsigned long native_save_fl(void) >> return flags; >> } >> >> -static inline void native_restore_fl(unsigned long flags) >> +extern inline void native_restore_fl(unsigned long flags); >> +extern inline void native_restore_fl(unsigned long flags) > > This looks odd to me, but my coffee hasn't kicked in yet this morning. > Why do you need both lines here? Shouldn't the actual function be > sufficient? If not, a comment explaining this would be nice.
Look just some lines further up: /* Declaration required for gcc < 4.9 to prevent -Werror=missing-prototypes */ extern inline unsigned long native_save_fl(void); extern inline unsigned long native_save_fl(void) Juergen