[PATCH] x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk

bp@kernel.org posted 1 patch 1 year, 10 months ago
There is a newer version of this series
arch/x86/lib/retpoline.S | 1 +
1 file changed, 1 insertion(+)
[PATCH] x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk
Posted by bp@kernel.org 1 year, 10 months ago
From: "Borislav Petkov (AMD)" <bp@alien8.de>

It is special code even if it is a dummy which is called in the !SRSO
case so annotate it like its real counterpart to address:

  vmlinux.o: warning: objtool: .export_symbol+0x2b290: data relocation to !ENDBR: srso_alias_untrain_ret+0x0

Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
---
 arch/x86/lib/retpoline.S | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/lib/retpoline.S b/arch/x86/lib/retpoline.S
index 0795b3464058..e674ccf720b9 100644
--- a/arch/x86/lib/retpoline.S
+++ b/arch/x86/lib/retpoline.S
@@ -229,6 +229,7 @@ SYM_CODE_END(srso_return_thunk)
 /* Dummy for the alternative in CALL_UNTRAIN_RET. */
 SYM_CODE_START(srso_alias_untrain_ret)
 	ANNOTATE_UNRET_SAFE
+	ANNOTATE_NOENDBR
 	ret
 	int3
 SYM_FUNC_END(srso_alias_untrain_ret)
-- 
2.43.0
Re: [PATCH] x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk
Posted by Borislav Petkov 1 year, 10 months ago
On Fri, Apr 05, 2024 at 04:46:37PM +0200, bp@kernel.org wrote:
> From: "Borislav Petkov (AMD)" <bp@alien8.de>
> 
> It is special code even if it is a dummy which is called in the !SRSO
> case so annotate it like its real counterpart to address:
> 
>   vmlinux.o: warning: objtool: .export_symbol+0x2b290: data relocation to !ENDBR: srso_alias_untrain_ret+0x0
> 

Fixes: 4535e1a4174c ("x86/bugs: Fix the SRSO mitigation on Zen3/4")

> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
> ---
>  arch/x86/lib/retpoline.S | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/x86/lib/retpoline.S b/arch/x86/lib/retpoline.S
> index 0795b3464058..e674ccf720b9 100644
> --- a/arch/x86/lib/retpoline.S
> +++ b/arch/x86/lib/retpoline.S
> @@ -229,6 +229,7 @@ SYM_CODE_END(srso_return_thunk)
>  /* Dummy for the alternative in CALL_UNTRAIN_RET. */
>  SYM_CODE_START(srso_alias_untrain_ret)
>  	ANNOTATE_UNRET_SAFE
> +	ANNOTATE_NOENDBR
>  	ret
>  	int3
>  SYM_FUNC_END(srso_alias_untrain_ret)
> -- 
> 2.43.0
> 

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette
[tip: x86/urgent] x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk
Posted by tip-bot2 for Borislav Petkov (AMD) 1 year, 10 months ago
The following commit has been merged into the x86/urgent branch of tip:

Commit-ID:     b377c66ae3509ccea596512d6afb4777711c4870
Gitweb:        https://git.kernel.org/tip/b377c66ae3509ccea596512d6afb4777711c4870
Author:        Borislav Petkov (AMD) <bp@alien8.de>
AuthorDate:    Fri, 05 Apr 2024 16:46:37 +02:00
Committer:     Ingo Molnar <mingo@kernel.org>
CommitterDate: Sat, 06 Apr 2024 13:01:50 +02:00

x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk

srso_alias_untrain_ret() is special code, even if it is a dummy
which is called in the !SRSO case, so annotate it like its real
counterpart, to address the following objtool splat:

  vmlinux.o: warning: objtool: .export_symbol+0x2b290: data relocation to !ENDBR: srso_alias_untrain_ret+0x0

Fixes: 4535e1a4174c ("x86/bugs: Fix the SRSO mitigation on Zen3/4")
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20240405144637.17908-1-bp@kernel.org
---
 arch/x86/lib/retpoline.S | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/lib/retpoline.S b/arch/x86/lib/retpoline.S
index 0795b34..e674ccf 100644
--- a/arch/x86/lib/retpoline.S
+++ b/arch/x86/lib/retpoline.S
@@ -229,6 +229,7 @@ SYM_CODE_END(srso_return_thunk)
 /* Dummy for the alternative in CALL_UNTRAIN_RET. */
 SYM_CODE_START(srso_alias_untrain_ret)
 	ANNOTATE_UNRET_SAFE
+	ANNOTATE_NOENDBR
 	ret
 	int3
 SYM_FUNC_END(srso_alias_untrain_ret)