[PATCH] x86/tdx: Fix tdx asm

Peter Zijlstra posted 1 patch 3 years, 11 months ago
arch/x86/coco/tdx/tdcall.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] x86/tdx: Fix tdx asm
Posted by Peter Zijlstra 3 years, 11 months ago
On Sat, Apr 09, 2022 at 01:27:41AM -0000, tip-bot2 for Kuppuswamy Sathyanarayanan wrote:
> +SYM_FUNC_START(__tdx_module_call)
> +	FRAME_BEGIN
> +	TDX_MODULE_CALL host=0
> +	FRAME_END
> +	ret
> +SYM_FUNC_END(__tdx_module_call)

> +SYM_FUNC_START(__tdx_hypercall)

> +
> +	retq
> +.Lpanic:
> +	call __tdx_hypercall_failed
> +	/* __tdx_hypercall_failed never returns */
> +	jmp .Lpanic
> +SYM_FUNC_END(__tdx_hypercall)

:-(

---
Subject: x86/tdx: Fix tdx asm

Because build-testing is over-rated, a few trivial objtool complaints:

  vmlinux.o: warning: objtool: __tdx_module_call+0x3e: missing int3 after ret
  vmlinux.o: warning: objtool: __tdx_hypercall+0x6e: missing int3 after ret

Fixes: eb94f1b6a70a ("x86/tdx: Add __tdx_module_call() and __tdx_hypercall() helper functions")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
 arch/x86/coco/tdx/tdcall.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/coco/tdx/tdcall.S b/arch/x86/coco/tdx/tdcall.S
index eeb4511dc414..f9eb1134f22d 100644
--- a/arch/x86/coco/tdx/tdcall.S
+++ b/arch/x86/coco/tdx/tdcall.S
@@ -73,7 +73,7 @@ SYM_FUNC_START(__tdx_module_call)
 	FRAME_BEGIN
 	TDX_MODULE_CALL host=0
 	FRAME_END
-	ret
+	RET
 SYM_FUNC_END(__tdx_module_call)

 /*
@@ -196,7 +196,7 @@ SYM_FUNC_START(__tdx_hypercall)

 	FRAME_END

-	retq
+	RET
 .Lpanic:
 	call __tdx_hypercall_failed
 	/* __tdx_hypercall_failed never returns */
Re: [PATCH] x86/tdx: Fix tdx asm
Posted by Kirill A. Shutemov 3 years, 11 months ago
On Fri, May 20, 2022 at 10:38:39AM +0200, Peter Zijlstra wrote:
> On Sat, Apr 09, 2022 at 01:27:41AM -0000, tip-bot2 for Kuppuswamy Sathyanarayanan wrote:
> > +SYM_FUNC_START(__tdx_module_call)
> > +	FRAME_BEGIN
> > +	TDX_MODULE_CALL host=0
> > +	FRAME_END
> > +	ret
> > +SYM_FUNC_END(__tdx_module_call)
> 
> > +SYM_FUNC_START(__tdx_hypercall)
> 
> > +
> > +	retq
> > +.Lpanic:
> > +	call __tdx_hypercall_failed
> > +	/* __tdx_hypercall_failed never returns */
> > +	jmp .Lpanic
> > +SYM_FUNC_END(__tdx_hypercall)
> 
> :-(
> 
> ---
> Subject: x86/tdx: Fix tdx asm
> 
> Because build-testing is over-rated, a few trivial objtool complaints:
> 
>   vmlinux.o: warning: objtool: __tdx_module_call+0x3e: missing int3 after ret
>   vmlinux.o: warning: objtool: __tdx_hypercall+0x6e: missing int3 after ret
> 
> Fixes: eb94f1b6a70a ("x86/tdx: Add __tdx_module_call() and __tdx_hypercall() helper functions")
> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>

Oopsie :(

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

> ---
>  arch/x86/coco/tdx/tdcall.S | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/coco/tdx/tdcall.S b/arch/x86/coco/tdx/tdcall.S
> index eeb4511dc414..f9eb1134f22d 100644
> --- a/arch/x86/coco/tdx/tdcall.S
> +++ b/arch/x86/coco/tdx/tdcall.S
> @@ -73,7 +73,7 @@ SYM_FUNC_START(__tdx_module_call)
>  	FRAME_BEGIN
>  	TDX_MODULE_CALL host=0
>  	FRAME_END
> -	ret
> +	RET
>  SYM_FUNC_END(__tdx_module_call)
> 
>  /*
> @@ -196,7 +196,7 @@ SYM_FUNC_START(__tdx_hypercall)
> 
>  	FRAME_END
> 
> -	retq
> +	RET
>  .Lpanic:
>  	call __tdx_hypercall_failed
>  	/* __tdx_hypercall_failed never returns */
> 

-- 
 Kirill A. Shutemov
[tip: x86/tdx] x86/tdx: Fix RETs in TDX asm
Posted by tip-bot2 for Peter Zijlstra 3 years, 11 months ago
The following commit has been merged into the x86/tdx branch of tip:

Commit-ID:     c796f02162e428b595ff70196dca161ee46b163b
Gitweb:        https://git.kernel.org/tip/c796f02162e428b595ff70196dca161ee46b163b
Author:        Peter Zijlstra <peterz@infradead.org>
AuthorDate:    Fri, 20 May 2022 10:38:39 +02:00
Committer:     Borislav Petkov <bp@suse.de>
CommitterDate: Fri, 20 May 2022 12:53:22 +02:00

x86/tdx: Fix RETs in TDX asm

Because build-testing is over-rated, fix a few trivial objtool complaints:

  vmlinux.o: warning: objtool: __tdx_module_call+0x3e: missing int3 after ret
  vmlinux.o: warning: objtool: __tdx_hypercall+0x6e: missing int3 after ret

Fixes: eb94f1b6a70a ("x86/tdx: Add __tdx_module_call() and __tdx_hypercall() helper functions")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220520083839.GR2578@worktop.programming.kicks-ass.net
---
 arch/x86/coco/tdx/tdcall.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/coco/tdx/tdcall.S b/arch/x86/coco/tdx/tdcall.S
index eeb4511..f9eb113 100644
--- a/arch/x86/coco/tdx/tdcall.S
+++ b/arch/x86/coco/tdx/tdcall.S
@@ -73,7 +73,7 @@ SYM_FUNC_START(__tdx_module_call)
 	FRAME_BEGIN
 	TDX_MODULE_CALL host=0
 	FRAME_END
-	ret
+	RET
 SYM_FUNC_END(__tdx_module_call)
 
 /*
@@ -196,7 +196,7 @@ SYM_FUNC_START(__tdx_hypercall)
 
 	FRAME_END
 
-	retq
+	RET
 .Lpanic:
 	call __tdx_hypercall_failed
 	/* __tdx_hypercall_failed never returns */