Re: [PATCH 3/7] x86/cpu: Disable kernel LASS when patching kernel alternatives

From: Chen, Yian
Date: Thu Jan 12 2023 - 13:59:53 EST




On 1/11/2023 4:37 PM, Dave Hansen wrote:
On 1/11/23 16:27, Chen, Yian wrote:
It seems we are implicitly relying on the on stac() and clac()
calls that are added for SMAP. Have you tried running with SMAP
disabled i.e "clearcpuid=smap"?

Yes, I tested with clearcpuid=smap.
It works by accident, then.

clearcpuid=smap means that the kernel should be running as if
CPUID.(EAX=07H,ECX=0H):EBX.SMAP[bit 20]==0. STAC/CLAC should #UD in
that case.

It could be something wrong in my Simics simulation environment.

The only reason that it happens to work is that STAC/CLAC apparently
actually continue to work even if CR4.SMAP==0.

I'm actually a _bit_ surprised by this, but I bet there's a good reason
for it.

In any case, please just make LASS dependent on SMAP. It's the right
thing to do on several levels.
Sure, I will add the dependency.