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.