[PATCH] x86/tdx: Annotate a noreturn function

Borislav Petkov posted 1 patch 4 years ago
There is a newer version of this series
arch/x86/coco/tdx/tdcall.S | 1 +
1 file changed, 1 insertion(+)
[PATCH] x86/tdx: Annotate a noreturn function
Posted by Borislav Petkov 4 years ago
From: Borislav Petkov <bp@suse.de>

objdump complains:

  vmlinux.o: warning: objtool: __tdx_hypercall()+0x74: unreachable instruction

because __tdx_hypercall_failed() won't return but panic the guest.
Annotate that that is ok and desired.

Fixes: eb94f1b6a70a ("x86/tdx: Add __tdx_module_call() and __tdx_hypercall() helper functions")
Signed-off-by: Borislav Petkov <bp@suse.de>
---
 arch/x86/coco/tdx/tdcall.S | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/coco/tdx/tdcall.S b/arch/x86/coco/tdx/tdcall.S
index 245888290bb6..eeb4511dc414 100644
--- a/arch/x86/coco/tdx/tdcall.S
+++ b/arch/x86/coco/tdx/tdcall.S
@@ -200,5 +200,6 @@ SYM_FUNC_START(__tdx_hypercall)
 .Lpanic:
 	call __tdx_hypercall_failed
 	/* __tdx_hypercall_failed never returns */
+	REACHABLE
 	jmp .Lpanic
 SYM_FUNC_END(__tdx_hypercall)
-- 
2.35.1
Re: [PATCH] x86/tdx: Annotate a noreturn function
Posted by Kirill A. Shutemov 4 years ago
On Wed, Apr 20, 2022 at 01:50:25PM +0200, Borislav Petkov wrote:
> From: Borislav Petkov <bp@suse.de>
> 
> objdump complains:
> 
>   vmlinux.o: warning: objtool: __tdx_hypercall()+0x74: unreachable instruction
> 
> because __tdx_hypercall_failed() won't return but panic the guest.
> Annotate that that is ok and desired.
> 
> Fixes: eb94f1b6a70a ("x86/tdx: Add __tdx_module_call() and __tdx_hypercall() helper functions")
> Signed-off-by: Borislav Petkov <bp@suse.de>

Have not seen REACHABLE before.

Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>

-- 
 Kirill A. Shutemov
[tip: x86/tdx] x86/tdx: Annotate a noreturn function
Posted by tip-bot2 for Borislav Petkov 4 years ago
The following commit has been merged into the x86/tdx branch of tip:

Commit-ID:     5af14c29f7a0e6d1fcee44c4ed4a2d12a49c4a43
Gitweb:        https://git.kernel.org/tip/5af14c29f7a0e6d1fcee44c4ed4a2d12a49c4a43
Author:        Borislav Petkov <bp@suse.de>
AuthorDate:    Wed, 20 Apr 2022 13:45:49 +02:00
Committer:     Borislav Petkov <bp@suse.de>
CommitterDate: Thu, 21 Apr 2022 12:54:08 +02:00

x86/tdx: Annotate a noreturn function

objdump complains:

  vmlinux.o: warning: objtool: __tdx_hypercall()+0x74: unreachable instruction

because __tdx_hypercall_failed() won't return but panic the guest.
Annotate that that is ok and desired.

Fixes: eb94f1b6a70a ("x86/tdx: Add __tdx_module_call() and __tdx_hypercall() helper functions")
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220420115025.5448-1-bp@alien8.de
---
 arch/x86/coco/tdx/tdcall.S | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/coco/tdx/tdcall.S b/arch/x86/coco/tdx/tdcall.S
index 2458882..eeb4511 100644
--- a/arch/x86/coco/tdx/tdcall.S
+++ b/arch/x86/coco/tdx/tdcall.S
@@ -200,5 +200,6 @@ SYM_FUNC_START(__tdx_hypercall)
 .Lpanic:
 	call __tdx_hypercall_failed
 	/* __tdx_hypercall_failed never returns */
+	REACHABLE
 	jmp .Lpanic
 SYM_FUNC_END(__tdx_hypercall)