mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
KVM: x86: Assign correct value to array.maxnent
Delay the assignment of array.maxnent to use correct value for the case
cpuid->nent > KVM_MAX_CPUID_ENTRIES.
Fixes: e53c95e8d4
("KVM: x86: Encapsulate CPUID entries and metadata in struct")
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Message-Id: <20200604041636.1187-1-xiaoyao.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
f4f6bd93fd
commit
65b1891499
@ -426,7 +426,7 @@ EXPORT_SYMBOL_GPL(kvm_set_cpu_caps);
|
||||
|
||||
struct kvm_cpuid_array {
|
||||
struct kvm_cpuid_entry2 *entries;
|
||||
const int maxnent;
|
||||
int maxnent;
|
||||
int nent;
|
||||
};
|
||||
|
||||
@ -870,7 +870,6 @@ int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid,
|
||||
|
||||
struct kvm_cpuid_array array = {
|
||||
.nent = 0,
|
||||
.maxnent = cpuid->nent,
|
||||
};
|
||||
int r, i;
|
||||
|
||||
@ -887,6 +886,8 @@ int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid,
|
||||
if (!array.entries)
|
||||
return -ENOMEM;
|
||||
|
||||
array.maxnent = cpuid->nent;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(funcs); i++) {
|
||||
r = get_cpuid_func(&array, funcs[i], type);
|
||||
if (r)
|
||||
|
Loading…
Reference in New Issue
Block a user