On Fri, 2023-09-15 at 14:42 +0800, Yang, Weijiang wrote: > On 9/15/2023 8:24 AM, Edgecombe, Rick P wrote: > > On Thu, 2023-09-14 at 02:33 -0400, Yang Weijiang wrote: > > > +static void __init init_kernel_dynamic_xfeatures(void) > > > +{ > > > + unsigned short cid; > > > + int i; > > > + > > > + for (i = 0; i < ARRAY_SIZE(xsave_kernel_dynamic_xfeatures); > > > i++) { > > > + cid = xsave_kernel_dynamic_xfeatures[i]; > > > + > > > + if (cid && boot_cpu_has(cid)) > > > + fpu_kernel_dynamic_xfeatures |= BIT_ULL(i); > > > + } > > > +} > > > + > > I think this can be part of the max_features calculation that uses > > xsave_cpuid_features when you use use a fixed mask like Dave suggested > > in the other patch. > > Yes, the max_features has already included CET supervisor state bit. After use > fixed mask, this function is not needed. > > My 0.2 cents are also on having XFEATURE_MASK_KERNEL_DYNAMIC macro instead. Best regards, Maxim Levitsky