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

Re: [Xen-devel] [PATCH svm] svm: fix p2mt type

>>> On 05.02.19 at 09:29, <nmanthey@xxxxxxxxx> wrote:
> --- 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;
>          } _d;

Practically speaking this should work in all cases. But there's the
theoretical risk of p2m_type_t being a different width than
uint32_t. Trace records use fixed width types so that producer
and consumer can be in sync with respect to layout. Therefore
I think you want to go through an intermediate variable instead,
the more that there already is a suitable one.

Mentioning the word "trace" or "xentrace" in the subject may
also help easily seeing what the issue is with.

SVM maintainers / George: I find it odd that there are two calls
to __get_gfn_type_access() here. Doesn't this bear the risk of
the trace record not reflecting what has actually happened (i.e.
what has lead to the domain crash)? Perhaps the better fix here
is to remove the second, tracing specific call altogether?


Xen-devel mailing list



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