[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] x86/CPUID: fill all fields in x86_cpuid_policy_fill_native()



commit e4d2207165b379ec13c8b512936f63982af62d13
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Thu Jun 25 09:12:21 2020 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Jun 25 09:12:21 2020 +0200

    x86/CPUID: fill all fields in x86_cpuid_policy_fill_native()
    
    Coverity validly complains that the new call from
    tools/tests/cpu-policy/test-cpu-policy.c:test_cpuid_current() leaves
    two fields uninitialized, yet they get then consumed by
    x86_cpuid_copy_to_buffer(). (All other present callers of the function
    pass a pointer to a static - and hence initialized - buffer.)
    
    Coverity-ID: 1464809
    Fixes: c22ced93e167 ("tests/cpu-policy: Confirm that CPUID serialisation is 
sorted")
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Release-acked-by: Paul Durrant <paul@xxxxxxx>
---
 xen/lib/x86/cpuid.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
index c111d43b00..c7a0508148 100644
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -176,6 +176,10 @@ void x86_cpuid_policy_fill_native(struct cpuid_policy *p)
                           ARRAY_SIZE(p->extd.raw) - 1); ++i )
         cpuid_leaf(0x80000000 + i, &p->extd.raw[i]);
 
+    /* Don't report leaves from possible lower level hypervisor, for now. */
+    p->hv_limit = 0;
+    p->hv2_limit = 0;
+
     x86_cpuid_policy_recalc_synth(p);
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.