On 11/24/2011 01:53 PM, Sasha Levin wrote: > On Thu, 2011-11-24 at 12:48 +0200, Avi Kivity wrote: > > On 11/24/2011 12:45 PM, Sasha Levin wrote: > > > If we pass just enough entries to KVM_GET_SUPPORTED_CPUID, we would still > > > fail with -E2BIG due to wrong comparisons. > > > > > > Cc: Avi Kivity <avi@xxxxxxxxxx> > > > Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> > > > Signed-off-by: Sasha Levin <levinsasha928@xxxxxxxxx> > > > --- > > > arch/x86/kvm/x86.c | 2 +- > > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > > > index 9eff4af..83fef71 100644 > > > --- a/arch/x86/kvm/x86.c > > > +++ b/arch/x86/kvm/x86.c > > > @@ -2710,7 +2710,7 @@ static int kvm_dev_ioctl_get_supported_cpuid(struct kvm_cpuid2 *cpuid, > > > cpuid->nent); > > > > > > r = -E2BIG; > > > - if (nent >= cpuid->nent) > > > + if (nent > cpuid->nent) > > > goto out_free; > > > > > > > > > > This is just a landmine for the next entry to be added there; surely > > whoever adds it will forget to correct the > back to >=. > > > > Slapping a big warning before that should do the trick? Or maybe add > something similar to 'final_nent = nent - 1;'? Refactor the whole thing so all the repetitive code goes away. Maybe make it table driven. But after my cpuid.c patch please, I'd hate to redo it. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html