提交 cb007648 编写于 作者: M Mark McLoughlin 提交者: Avi Kivity

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: NMark McLoughlin <markmc@redhat.com>
Signed-off-by: NAvi Kivity <avi@redhat.com>
上级 60af2ecd
...@@ -1506,6 +1506,10 @@ static int kvm_dev_ioctl_get_supported_cpuid(struct kvm_cpuid2 *cpuid, ...@@ -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)))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册