Sean Christopherson <sean.j.christopherson@xxxxxxxxx> writes: > Clean up the error handling in kvm_dev_ioctl_get_cpuid(), which has > gotten a bit crusty as the function has evolved over the years. > > Opportunistically hoist the static @funcs declaration to the top of the > function to make it more obvious that it's a "static const". > > No functional change intended. > > Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> > --- > arch/x86/kvm/cpuid.c | 19 +++++++------------ > 1 file changed, 7 insertions(+), 12 deletions(-) > > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c > index de52cbb46171..11d5f311ef10 100644 > --- a/arch/x86/kvm/cpuid.c > +++ b/arch/x86/kvm/cpuid.c > @@ -889,45 +889,40 @@ int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid, > struct kvm_cpuid_entry2 __user *entries, > unsigned int type) > { > - struct kvm_cpuid_entry2 *cpuid_entries; > - int nent = 0, r = -E2BIG, i; > - > static const u32 funcs[] = { > 0, 0x80000000, CENTAUR_CPUID_SIGNATURE, KVM_CPUID_SIGNATURE, > }; > > + struct kvm_cpuid_entry2 *cpuid_entries; > + int nent = 0, r, i; > + > if (cpuid->nent < 1) > - goto out; > + return -E2BIG; > if (cpuid->nent > KVM_MAX_CPUID_ENTRIES) > cpuid->nent = KVM_MAX_CPUID_ENTRIES; > > if (sanity_check_entries(entries, cpuid->nent, type)) > return -EINVAL; > > - r = -ENOMEM; > cpuid_entries = vzalloc(array_size(sizeof(struct kvm_cpuid_entry2), > cpuid->nent)); > if (!cpuid_entries) > - goto out; > + return -ENOMEM; > > - r = 0; > for (i = 0; i < ARRAY_SIZE(funcs); i++) { > r = get_cpuid_func(cpuid_entries, funcs[i], &nent, cpuid->nent, > type); > if (r) > goto out_free; > } > + cpuid->nent = nent; > > - r = -EFAULT; > if (copy_to_user(entries, cpuid_entries, > nent * sizeof(struct kvm_cpuid_entry2))) > - goto out_free; > - cpuid->nent = nent; > - r = 0; > + r = -EFAULT; > > out_free: > vfree(cpuid_entries); > -out: > return r; > } Please [partially] disregard my comment on PATCH 02 Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> -- Vitaly