On 05/02/2019 08:29, Norbert Manthey wrote: > A pointer mismatch has been reported when compiling with the > compiler goto-gcc of the bounded model checker CBMC. > > Fixes: 9a779e4f (Implement SVM specific part for Nested Virtualization) > > Signed-off-by: Norbert Manthey <[email protected]> > > --- > xen/arch/x86/hvm/svm/svm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c > --- a/xen/arch/x86/hvm/svm/svm.c > +++ b/xen/arch/x86/hvm/svm/svm.c > @@ -1794,7 +1794,7 @@ static void svm_do_nested_pgfault(struct vcpu *v, > uint64_t gpa; > uint64_t mfn; > uint32_t qualification; > - uint32_t p2mt; > + p2m_type_t p2mt;
You can't change this type, for the same reason that the compiler complained. enum has an implementation defined width which may not be 4, and this would break the trace record. The best course of action is to pass the existing &p2mt into the lookup, and assign back to _d.p2mt alongside the mfn. A decent optimising compiler will be able to simplify this when enum* and uint32_t* are considered to be compatible. ~Andrew _______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
