Re: [PATCH 2/6] x86/sev: Fix nonistr violation

2021-01-07 Thread Peter Zijlstra
On Wed, Jan 06, 2021 at 09:59:17AM -0800, Randy Dunlap wrote:
> On 1/6/21 6:36 AM, Peter Zijlstra wrote:
> > When the compiler fails to inline; we violate nonisntr:
> > 
> >   vmlinux.o: warning: objtool: __sev_es_nmi_complete()+0xc7: call to 
> > sev_es_wr_ghcb_msr() leaves .noinstr.text section
> 
> I am still seeing (a variant of) this one:
> 
> vmlinux.o: warning: objtool: __sev_es_nmi_complete()+0xce: call to 
> __wrmsr.constprop.14() leaves .noinstr.text section

Gah, sorry, I managed to mess up my .config :/ /me goes try again.


Re: [PATCH 2/6] x86/sev: Fix nonistr violation

2021-01-06 Thread Randy Dunlap
On 1/6/21 6:36 AM, Peter Zijlstra wrote:
> When the compiler fails to inline; we violate nonisntr:
> 
>   vmlinux.o: warning: objtool: __sev_es_nmi_complete()+0xc7: call to 
> sev_es_wr_ghcb_msr() leaves .noinstr.text section

I am still seeing (a variant of) this one:

vmlinux.o: warning: objtool: __sev_es_nmi_complete()+0xce: call to 
__wrmsr.constprop.14() leaves .noinstr.text section

> gcc --version
gcc (SUSE Linux) 7.5.0


The other 2 that I reported are gone with all 6 patches applied.

> Fixes: 4ca68e023b11 ("x86/sev-es: Handle NMI State")
> Reported-by: Randy Dunlap 
> Signed-off-by: Peter Zijlstra (Intel) 
> ---
>  arch/x86/kernel/sev-es.c |2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- a/arch/x86/kernel/sev-es.c
> +++ b/arch/x86/kernel/sev-es.c
> @@ -225,7 +225,7 @@ static inline u64 sev_es_rd_ghcb_msr(voi
>   return __rdmsr(MSR_AMD64_SEV_ES_GHCB);
>  }
>  
> -static inline void sev_es_wr_ghcb_msr(u64 val)
> +static __always_inline void sev_es_wr_ghcb_msr(u64 val)
>  {
>   u32 low, high;
>  
> 
> 


-- 
~Randy



[PATCH 2/6] x86/sev: Fix nonistr violation

2021-01-06 Thread Peter Zijlstra
When the compiler fails to inline; we violate nonisntr:

  vmlinux.o: warning: objtool: __sev_es_nmi_complete()+0xc7: call to 
sev_es_wr_ghcb_msr() leaves .noinstr.text section

Fixes: 4ca68e023b11 ("x86/sev-es: Handle NMI State")
Reported-by: Randy Dunlap 
Signed-off-by: Peter Zijlstra (Intel) 
---
 arch/x86/kernel/sev-es.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/x86/kernel/sev-es.c
+++ b/arch/x86/kernel/sev-es.c
@@ -225,7 +225,7 @@ static inline u64 sev_es_rd_ghcb_msr(voi
return __rdmsr(MSR_AMD64_SEV_ES_GHCB);
 }
 
-static inline void sev_es_wr_ghcb_msr(u64 val)
+static __always_inline void sev_es_wr_ghcb_msr(u64 val)
 {
u32 low, high;