[tip: x86/entry] x86/entry: __always_inline debugreg for noinstr

From: tip-bot2 for Peter Zijlstra
Date: Wed Jun 03 2020 - 13:50:41 EST


The following commit has been merged into the x86/entry branch of tip:

Commit-ID: c227bf005a079ad7af47f8df3cbb7c39cdbabc37
Gitweb: https://git.kernel.org/tip/c227bf005a079ad7af47f8df3cbb7c39cdbabc37
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
AuthorDate: Wed, 03 Jun 2020 13:40:17 +02:00
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitterDate: Wed, 03 Jun 2020 16:35:36 +02:00

x86/entry: __always_inline debugreg for noinstr

vmlinux.o: warning: objtool: exc_debug()+0x21: call to native_get_debugreg() leaves .noinstr.text section

Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: https://lkml.kernel.org/r/20200603114051.954401211@xxxxxxxxxxxxx

---
arch/x86/include/asm/debugreg.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/include/asm/debugreg.h b/arch/x86/include/asm/debugreg.h
index 42fc35d..e89558a 100644
--- a/arch/x86/include/asm/debugreg.h
+++ b/arch/x86/include/asm/debugreg.h
@@ -18,7 +18,7 @@ DECLARE_PER_CPU(unsigned long, cpu_dr7);
native_set_debugreg(register, value)
#endif

-static inline unsigned long native_get_debugreg(int regno)
+static __always_inline unsigned long native_get_debugreg(int regno)
{
unsigned long val = 0; /* Damn you, gcc! */

@@ -47,7 +47,7 @@ static inline unsigned long native_get_debugreg(int regno)
return val;
}

-static inline void native_set_debugreg(int regno, unsigned long value)
+static __always_inline void native_set_debugreg(int regno, unsigned long value)
{
switch (regno) {
case 0:
@@ -85,7 +85,7 @@ static inline void hw_breakpoint_disable(void)
set_debugreg(0UL, 3);
}

-static inline bool hw_breakpoint_active(void)
+static __always_inline bool hw_breakpoint_active(void)
{
return __this_cpu_read(cpu_dr7) & DR_GLOBAL_ENABLE_MASK;
}