On 11/17/2011 07:13 PM, David Evensky wrote:
> func 0000000d ind 00000001 flags 00000001 -> 00000001 00000000 00000000 
> 00000000
> func 80000001 ind 00000000 flags 00000000 -> 00000000 00000000 00000001 
> 28100800
> func 0000000d ind 00000003 flags 00000001 -> 00000000 00000000 00000000 
> 00000000
> func 0000000d ind 00000004 flags 00000001 -> 00000000 00000000 00000000 
> 00000000
> func 0000000d ind 00000005 flags 00000001 -> 00000000 00000000 00000000 
> 00000000

Leaf 0xd handling is broken in 3.0:

        case 0xd: {
                int i;

                entry->flags |= KVM_CPUID_FLAG_SIGNIFCANT_INDEX;
                for (i = 1; *nent < maxnent && i < 64; ++i) {
                        if (entry[i].eax == 0)
                                continue;
                        do_cpuid_1_ent(&entry[i], function, i);
                        entry[i].flags |=
                               KVM_CPUID_FLAG_SIGNIFCANT_INDEX;
                        ++*nent;
                }
                break;
        }

We check entry[i].eax before we compute it.  3.2 is fine, so it's only a
matter of backports.

-- 
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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to