On Thu, Nov 16, 2017 at 09:13:22PM +0000, Andrew Cooper wrote: > There are two bugs in process_vcpu_msrs() which clearly demonstrate that I > didn't test this bit of Migration v2 very well when writing it... > > vcpu->msrsz is always expected to be a multiple of xen_domctl_vcpu_msr_t > records in a spec-compliant stream, so the modulo yields 0 for the msr_count, > rather than the actual number sent in the stream. > > Passing 0 for the msr_count causes the hypercall to exit early, and hides the > fact that the guest handle is inserted into the wrong field in the domctl > union. > > The reason that these bugs have gone unnoticed for so long is that the only > MSRs passed like this for PV guests are the AMD DBGEXT MSRs, which only exist > in fairly modern hardware, and whose use doesn't appear to be implemented in > any contemporary PV guests. > > Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
Reviewed-by: Wei Liu <wei.l...@citrix.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel