Re: [PATCH 03/19] x86/cpufeatures: Enable CET CR4 bit for shadow stack

From: Peter Zijlstra
Date: Fri Jun 17 2022 - 07:39:11 EST


On Thu, Jun 16, 2022 at 05:12:47PM +0000, Edgecombe, Rick P wrote:
> On Thu, 2022-06-16 at 12:24 +0200, Peter Zijlstra wrote:
> > On Thu, Jun 16, 2022 at 04:46:27AM -0400, Yang Weijiang wrote:
> > > --- a/arch/x86/include/asm/cpu.h
> > > +++ b/arch/x86/include/asm/cpu.h
> > > @@ -74,7 +74,7 @@ void init_ia32_feat_ctl(struct cpuinfo_x86 *c);
> > > static inline void init_ia32_feat_ctl(struct cpuinfo_x86 *c) {}
> > > #endif
> > >
> > > -extern __noendbr void cet_disable(void);
> > > +extern __noendbr void ibt_disable(void);
> > >
> > > struct ucode_cpu_info;
> > >
> > > diff --git a/arch/x86/kernel/cpu/common.c
> > > b/arch/x86/kernel/cpu/common.c
> > > index c296cb1c0113..86102a8d451e 100644
> > > --- a/arch/x86/kernel/cpu/common.c
> > > +++ b/arch/x86/kernel/cpu/common.c
> > > @@ -598,23 +598,23 @@ __noendbr void ibt_restore(u64 save)
> > >
> > > -__noendbr void cet_disable(void)
> > > +__noendbr void ibt_disable(void)
> > > {
> > > if (cpu_feature_enabled(X86_FEATURE_IBT))
> > > wrmsrl(MSR_IA32_S_CET, 0);
> >
> > Not sure about this rename; it really disables all of (S) CET.
> >
> > Specifically, once we do S-SHSTK (after FRED) we might also very much
> > need to kill that for kexec.
>
> Sure, what about something like sup_cet_disable()?

Why bother? Arguably kexec should clear U_CET too.