On Thu, Apr 14, 2022, Colin Ian King wrote: > Don't populate the read-only array vmx_uret_msrs_list on the stack > but instead make it static. Also makes the object code a little smaller. Why not put it on the stack? It's an __init function, i.e. called once in the lifetime of kvm-intel.ko, isn't all that big, and is certainly not performance critical. And making it static begs the question of whether or not the data gets thrown away after init, i.e. this might consume _more_ memory once KVM has reached steady state. > Signed-off-by: Colin Ian King <colin.i.king@xxxxxxxxx> > --- > arch/x86/kvm/vmx/vmx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > index c654c9d76e09..36429e2bb918 100644 > --- a/arch/x86/kvm/vmx/vmx.c > +++ b/arch/x86/kvm/vmx/vmx.c > @@ -7871,7 +7871,7 @@ static __init void vmx_setup_user_return_msrs(void) > * but is never loaded into hardware. MSR_CSTAR is also never loaded > * into hardware and is here purely for emulation purposes. > */ > - const u32 vmx_uret_msrs_list[] = { > + static const u32 vmx_uret_msrs_list[] = { > #ifdef CONFIG_X86_64 > MSR_SYSCALL_MASK, MSR_LSTAR, MSR_CSTAR, > #endif > -- > 2.35.1 >