summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xarch/x86/kvm/cpuid.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 2f21371..062c21c 100755
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -571,6 +571,9 @@ out:
static int do_cpuid_ent(struct kvm_cpuid_entry *entry, u32 func,
u32 idx, int *nent, int maxnent, unsigned int type)
{
+ if (*nent >= maxnent)
+ return -E2BIG;
+
if (type == AEHD_GET_EMULATED_CPUID)
return __do_cpuid_ent_emulated(entry, func, idx, nent, maxnent);