forked from Minki/linux
KVM: fix cpuid E2BIG handling for extended request types
If we run out of cpuid entries for extended request types we should return -E2BIG, just like we do for the standard request types. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
60af2ecdc5
commit
cb007648de
@ -1506,6 +1506,10 @@ static int kvm_dev_ioctl_get_supported_cpuid(struct kvm_cpuid2 *cpuid,
|
|||||||
for (func = 0x80000001; func <= limit && nent < cpuid->nent; ++func)
|
for (func = 0x80000001; func <= limit && nent < cpuid->nent; ++func)
|
||||||
do_cpuid_ent(&cpuid_entries[nent], func, 0,
|
do_cpuid_ent(&cpuid_entries[nent], func, 0,
|
||||||
&nent, cpuid->nent);
|
&nent, cpuid->nent);
|
||||||
|
r = -E2BIG;
|
||||||
|
if (nent >= cpuid->nent)
|
||||||
|
goto out_free;
|
||||||
|
|
||||||
r = -EFAULT;
|
r = -EFAULT;
|
||||||
if (copy_to_user(entries, cpuid_entries,
|
if (copy_to_user(entries, cpuid_entries,
|
||||||
nent * sizeof(struct kvm_cpuid_entry2)))
|
nent * sizeof(struct kvm_cpuid_entry2)))
|
||||||
|
Loading…
Reference in New Issue
Block a user