[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <14145470-070f-4249-8d6b-1a35a1b3ef21@suse.com>
Date: Thu, 16 Jan 2025 15:32:10 +0100
From: Jürgen Groß <jgross@...e.com>
To: Nathan Chancellor <nathan@...nel.org>, x86@...nel.org
Cc: linux-kernel@...r.kernel.org, llvm@...ts.linux.dev,
kernel test robot <lkp@...el.com>, Sean Christopherson <seanjc@...gle.com>,
Linux Kernel Functional Testing <lkft@...aro.org>
Subject: Re: [PATCH] x86/asm: Always inline serialize()
On 16.01.25 15:28, Nathan Chancellor wrote:
> serialize() may be called from noinstr code and if it is not inlined,
> objtool may warn like:
>
> vmlinux.o: warning: objtool: __static_call_update_early+0x2a: call to serialize() leaves .noinstr.text section
>
> Mark serialize() with __always_inline to clear up the warning and
> prevent future ones from occurring.
>
> Fixes: 0ef8047b737d ("x86/static-call: provide a way to do very early static-call updates")
> Reported-by: kernel test robot <lkp@...el.com>
> Closes: https://lore.kernel.org/202412181756.aJvzih2K-lkp@intel.com/
> Reported-by: Sean Christopherson <seanjc@...gle.com>
> Closes: https://lore.kernel.org/Z4bWnWYqu1LaD-JG@google.com/
> Reported-by: Linux Kernel Functional Testing <lkft@...aro.org>
> Closes: https://lore.kernel.org/CA+G9fYv-AgeUpP1yPDmy48T869Ms80jgUdjnwtBNoJmCKQvZDQ@mail.gmail.com/
> Signed-off-by: Nathan Chancellor <nathan@...nel.org>
> ---
> arch/x86/include/asm/special_insns.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h
> index fab7c8af27a4d00647f2f52e7fe4f91bd42a7291..03e7c2d495597597a635f83116fafa1a95ed357e 100644
> --- a/arch/x86/include/asm/special_insns.h
> +++ b/arch/x86/include/asm/special_insns.h
> @@ -211,7 +211,7 @@ static inline int write_user_shstk_64(u64 __user *addr, u64 val)
>
> #define nop() asm volatile ("nop")
>
> -static inline void serialize(void)
> +static __always_inline void serialize(void)
> {
> /* Instruction opcode for SERIALIZE; supported in binutils >= 2.35. */
> asm volatile(".byte 0xf, 0x1, 0xe8" ::: "memory");
>
> ---
> base-commit: 37bc915c6ad0fb8a192dafb6b7046c79cad1f4a2
> change-id: 20250116-always-inline-serialize-for-noinstr-4e9e9826d967
>
> Best regards,
I have sent the very same patch on Dec. 18th already.
Juergen
Download attachment "OpenPGP_0xB0DE9DD628BF132F.asc" of type "application/pgp-keys" (3684 bytes)
Download attachment "OpenPGP_signature.asc" of type "application/pgp-signature" (496 bytes)
Powered by blists - more mailing lists