Re: [PATCH 2/6] x86/sev: Fix nonistr violation
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
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
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;