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_array {
|
||||||
struct kvm_cpuid_entry2 *entries;
|
struct kvm_cpuid_entry2 *entries;
|
||||||
const int maxnent;
|
int maxnent;
|
||||||
int nent;
|
int nent;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -870,7 +870,6 @@ int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid,
|
|||||||
|
|
||||||
struct kvm_cpuid_array array = {
|
struct kvm_cpuid_array array = {
|
||||||
.nent = 0,
|
.nent = 0,
|
||||||
.maxnent = cpuid->nent,
|
|
||||||
};
|
};
|
||||||
int r, i;
|
int r, i;
|
||||||
|
|
||||||
@ -887,6 +886,8 @@ int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid,
|
|||||||
if (!array.entries)
|
if (!array.entries)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
array.maxnent = cpuid->nent;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(funcs); i++) {
|
for (i = 0; i < ARRAY_SIZE(funcs); i++) {
|
||||||
r = get_cpuid_func(&array, funcs[i], type);
|
r = get_cpuid_func(&array, funcs[i], type);
|
||||||
if (r)
|
if (r)
|
||||||
|
Loading…
Reference in New Issue
Block a user