Messages in this thread | | | Subject | Re: [PATCH 1/2] xen: make HYPERVISOR_get_debugreg() always_inline | From | Juergen Gross <> | Date | Thu, 25 Nov 2021 16:04:11 +0100 |
| |
On 25.11.21 16:00, Andrew Cooper wrote: > On 25/11/2021 09:20, Juergen Gross wrote: >> HYPERVISOR_get_debugreg() is being called from noinstr code, so it >> should be attributed "always_inline". >> >> Fixes: f4afb713e5c3a4419ba ("x86/xen: Make get_debugreg() noinstr") >> Reported-by: kernel test robot <lkp@intel.com> >> Signed-off-by: Juergen Gross <jgross@suse.com> >> --- >> arch/x86/include/asm/xen/hypercall.h | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xen/hypercall.h >> index 0575f5863b7f..28ca1119606b 100644 >> --- a/arch/x86/include/asm/xen/hypercall.h >> +++ b/arch/x86/include/asm/xen/hypercall.h >> @@ -287,7 +287,7 @@ HYPERVISOR_set_debugreg(int reg, unsigned long value) >> return _hypercall2(int, set_debugreg, reg, value); >> } >> >> -static inline unsigned long >> +static __always_inline unsigned long >> HYPERVISOR_get_debugreg(int reg) >> { >> return _hypercall1(unsigned long, get_debugreg, reg); > > All this is going to do is push the error one step further in. > > Next, objtool will complain that hypercall_page isn't noinstr.
I don't think so:
.pushsection .noinstr.text, "ax" .balign PAGE_SIZE SYM_CODE_START(hypercall_page) .rept (PAGE_SIZE / 32) UNWIND_HINT_FUNC .skip 31, 0x90 ret .endr
Juergen [unhandled content-type:application/pgp-keys][unhandled content-type:application/pgp-signature] | |