From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH] x86/HVM: improve a few state load checks Date: Mon, 16 Jul 2018 14:05:42 +0000 Message-ID: <25ec81ac057b4143859e1479bfa32d49@AMSPEX02CL02.citrite.net> References: <5B4CA48002000078001D470D@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ff48H-0002lj-4h for xen-devel@lists.xenproject.org; Mon, 16 Jul 2018 14:05:45 +0000 In-Reply-To: <5B4CA48002000078001D470D@prv1-mh.provo.novell.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: 'Jan Beulich' , xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEphbiBCZXVsaWNoIFttYWlsdG86 SkJldWxpY2hAc3VzZS5jb21dCj4gU2VudDogMTYgSnVseSAyMDE4IDE0OjU4Cj4gVG86IHhlbi1k ZXZlbCA8eGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnPgo+IENjOiBBbmRyZXcgQ29vcGVy IDxBbmRyZXcuQ29vcGVyM0BjaXRyaXguY29tPjsgUGF1bCBEdXJyYW50Cj4gPFBhdWwuRHVycmFu dEBjaXRyaXguY29tPgo+IFN1YmplY3Q6IFtQQVRDSF0geDg2L0hWTTogaW1wcm92ZSBhIGZldyBz dGF0ZSBsb2FkIGNoZWNrcwo+IAo+IFVzaW5nIHBsYWluIGludCBmb3IgaW5zdGFuY2UgbnVtYmVy cyBsb29rcyBxdWl0ZSBkYW5nZXJvdXMgd2l0aG91dAo+IGJlaW5nIGF3YXJlIHRoYXQgaHZtX2xv YWRfaW5zdGFuY2UoKSByZXR1cm5zIGFuIHVuc2lnbmVkIHF1YW50aXR5LiBNYWtlCj4gdGhpcyBt b3JlIGV4cGxpY2l0LiBBbHNvIHJlcGxhY2UgdWludDE2X3QgdXNlcyBieSB1bnNpZ25lZCBpbnQu Cj4gCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgo+IAo+ IC0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKPiArKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2 bS5jCj4gQEAgLTk3NiwxNCArOTc2LDEzIEBAIHVuc2lnbmVkIGxvbmcgaHZtX2NyNF9ndWVzdF92 YWxpZF9iaXRzKGMKPiAKPiAgc3RhdGljIGludCBodm1fbG9hZF9jcHVfY3R4dChzdHJ1Y3QgZG9t YWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKPiAgewo+IC0gICAgaW50IHZjcHVpZDsK PiArICAgIHVuc2lnbmVkIGludCB2Y3B1aWQgPSBodm1fbG9hZF9pbnN0YW5jZShoKTsKPiAgICAg IHN0cnVjdCB2Y3B1ICp2Owo+ICAgICAgc3RydWN0IGh2bV9od19jcHUgY3R4dDsKPiAgICAgIHN0 cnVjdCBzZWdtZW50X3JlZ2lzdGVyIHNlZzsKPiAgICAgIGNvbnN0IGNoYXIgKmVycnN0cjsKPiAK PiAgICAgIC8qIFdoaWNoIHZjcHUgaXMgdGhpcz8gKi8KPiAtICAgIHZjcHVpZCA9IGh2bV9sb2Fk X2luc3RhbmNlKGgpOwo+ICAgICAgaWYgKCB2Y3B1aWQgPj0gZC0+bWF4X3ZjcHVzIHx8ICh2ID0g ZC0+dmNwdVt2Y3B1aWRdKSA9PSBOVUxMICkKClRoaXMgb3BlbiBjb2RlZCBwYXR0ZXJuOgoKdmNw dWlkID0gaHZtX2xvYWRfaW5zdGFuY2UoaCk7CmlmICggdmNwdWlkID49IGQtPm1heF92Y3B1cyB8 fCAodiA9IGQtPnZjcHVbdmNwdWlkXSkgPT0gTlVMTCApCnsgLi4uCgpzZWVtcyB0byBiZSByZXBl YXRlZCBhbiBhd2Z1bCBsb3QuIElzIGl0IHRpbWUsIHBlcmhhcHMsIHRvIGludHJvZHVjZSBhIGhl bHBlciBmdW5jdGlvbiB0aGF0IGluY29ycG9yYXRlcyB0aGUgY2hlY2s/CgogIFBhdWwKCj4gICAg ICB7Cj4gICAgICAgICAgZHByaW50ayhYRU5MT0dfR19FUlIsICJIVk0gcmVzdG9yZTogZG9tJXUg aGFzIG5vIHZjcHUldVxuIiwKPiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL210cnIuYwo+ICsrKyBi L3hlbi9hcmNoL3g4Ni9odm0vbXRyci5jCj4gQEAgLTc2OCw3ICs3NjgsNyBAQCBzdGF0aWMgaW50 IGh2bV9zYXZlX210cnJfbXNyKHN0cnVjdCBkb21hCj4gCj4gIHN0YXRpYyBpbnQgaHZtX2xvYWRf bXRycl9tc3Ioc3RydWN0IGRvbWFpbiAqZCwgaHZtX2RvbWFpbl9jb250ZXh0X3QKPiAqaCkKPiAg ewo+IC0gICAgaW50IHZjcHVpZCwgaTsKPiArICAgIHVuc2lnbmVkIGludCB2Y3B1aWQsIGk7Cj4g ICAgICBzdHJ1Y3QgdmNwdSAqdjsKPiAgICAgIHN0cnVjdCBtdHJyX3N0YXRlICptdHJyX3N0YXRl Owo+ICAgICAgc3RydWN0IGh2bV9od19tdHJyIGh3X210cnI7Cj4gLS0tIGEveGVuL2FyY2gveDg2 L2h2bS92aXJpZGlhbi5jCj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi5jCj4gQEAg LTEwNDgsMTEgKzEwNDgsMTAgQEAgc3RhdGljIGludCB2aXJpZGlhbl9zYXZlX3ZjcHVfY3R4dChz dHJ1Ywo+IAo+ICBzdGF0aWMgaW50IHZpcmlkaWFuX2xvYWRfdmNwdV9jdHh0KHN0cnVjdCBkb21h aW4gKmQsIGh2bV9kb21haW5fY29udGV4dF90Cj4gKmgpCj4gIHsKPiAtICAgIGludCB2Y3B1aWQ7 Cj4gKyAgICB1bnNpZ25lZCBpbnQgdmNwdWlkID0gaHZtX2xvYWRfaW5zdGFuY2UoaCk7Cj4gICAg ICBzdHJ1Y3QgdmNwdSAqdjsKPiAgICAgIHN0cnVjdCBodm1fdmlyaWRpYW5fdmNwdV9jb250ZXh0 IGN0eHQ7Cj4gCj4gLSAgICB2Y3B1aWQgPSBodm1fbG9hZF9pbnN0YW5jZShoKTsKPiAgICAgIGlm ICggdmNwdWlkID49IGQtPm1heF92Y3B1cyB8fCAodiA9IGQtPnZjcHVbdmNwdWlkXSkgPT0gTlVM TCApCj4gICAgICB7Cj4gICAgICAgICAgZHByaW50ayhYRU5MT0dfR19FUlIsICJIVk0gcmVzdG9y ZTogZG9tJWQgaGFzIG5vIHZjcHUldVxuIiwKPiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZsYXBp Yy5jCj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS92bGFwaWMuYwo+IEBAIC0xNTA3LDcgKzE1MDcs NyBAQCBzdGF0aWMgdm9pZCBsYXBpY19sb2FkX2ZpeHVwKHN0cnVjdCB2bGFwCj4gCj4gIHN0YXRp YyBpbnQgbGFwaWNfbG9hZF9oaWRkZW4oc3RydWN0IGRvbWFpbiAqZCwgaHZtX2RvbWFpbl9jb250 ZXh0X3QgKmgpCj4gIHsKPiAtICAgIHVpbnQxNl90IHZjcHVpZDsKPiArICAgIHVuc2lnbmVkIGlu dCB2Y3B1aWQgPSBodm1fbG9hZF9pbnN0YW5jZShoKTsKPiAgICAgIHN0cnVjdCB2Y3B1ICp2Owo+ ICAgICAgc3RydWN0IHZsYXBpYyAqczsKPiAKPiBAQCAtMTUxNSw3ICsxNTE1LDYgQEAgc3RhdGlj IGludCBsYXBpY19sb2FkX2hpZGRlbihzdHJ1Y3QgZG9tYQo+ICAgICAgICAgIHJldHVybiAtRU5P REVWOwo+IAo+ICAgICAgLyogV2hpY2ggdmxhcGljIHRvIGxvYWQ/ICovCj4gLSAgICB2Y3B1aWQg PSBodm1fbG9hZF9pbnN0YW5jZShoKTsKPiAgICAgIGlmICggdmNwdWlkID49IGQtPm1heF92Y3B1 cyB8fCAodiA9IGQtPnZjcHVbdmNwdWlkXSkgPT0gTlVMTCApCj4gICAgICB7Cj4gICAgICAgICAg ZHByaW50ayhYRU5MT0dfR19FUlIsICJIVk0gcmVzdG9yZTogZG9tJWQgaGFzIG5vIGFwaWMldVxu IiwKPiBAQCAtMTU0Miw3ICsxNTQxLDcgQEAgc3RhdGljIGludCBsYXBpY19sb2FkX2hpZGRlbihz dHJ1Y3QgZG9tYQo+IAo+ICBzdGF0aWMgaW50IGxhcGljX2xvYWRfcmVncyhzdHJ1Y3QgZG9tYWlu ICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKPiAgewo+IC0gICAgdWludDE2X3QgdmNwdWlk Owo+ICsgICAgdW5zaWduZWQgaW50IHZjcHVpZCA9IGh2bV9sb2FkX2luc3RhbmNlKGgpOwo+ICAg ICAgc3RydWN0IHZjcHUgKnY7Cj4gICAgICBzdHJ1Y3QgdmxhcGljICpzOwo+IAo+IEBAIC0xNTUw LDcgKzE1NDksNiBAQCBzdGF0aWMgaW50IGxhcGljX2xvYWRfcmVncyhzdHJ1Y3QgZG9tYWluCj4g ICAgICAgICAgcmV0dXJuIC1FTk9ERVY7Cj4gCj4gICAgICAvKiBXaGljaCB2bGFwaWMgdG8gbG9h ZD8gKi8KPiAtICAgIHZjcHVpZCA9IGh2bV9sb2FkX2luc3RhbmNlKGgpOwo+ICAgICAgaWYgKCB2 Y3B1aWQgPj0gZC0+bWF4X3ZjcHVzIHx8ICh2ID0gZC0+dmNwdVt2Y3B1aWRdKSA9PSBOVUxMICkK PiAgICAgIHsKPiAgICAgICAgICBkcHJpbnRrKFhFTkxPR19HX0VSUiwgIkhWTSByZXN0b3JlOiBk b20lZCBoYXMgbm8gYXBpYyV1XG4iLAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdnBpYy5jCj4g KysrIGIveGVuL2FyY2gveDg2L2h2bS92cGljLmMKPiBAQCAtMzkzLDEzICszOTMsMTIgQEAgc3Rh dGljIGludCB2cGljX3NhdmUoc3RydWN0IGRvbWFpbiAqZCwgaAo+ICBzdGF0aWMgaW50IHZwaWNf bG9hZChzdHJ1Y3QgZG9tYWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKPiAgewo+ICAg ICAgc3RydWN0IGh2bV9od192cGljICpzOwo+IC0gICAgdWludDE2X3QgaW5zdDsKPiArICAgIHVu c2lnbmVkIGludCBpbnN0ID0gaHZtX2xvYWRfaW5zdGFuY2UoaCk7Cj4gCj4gICAgICBpZiAoICFo YXNfdnBpYyhkKSApCj4gICAgICAgICAgcmV0dXJuIC1FTk9ERVY7Cj4gCj4gICAgICAvKiBXaGlj aCBQSUMgaXMgdGhpcz8gKi8KPiAtICAgIGluc3QgPSBodm1fbG9hZF9pbnN0YW5jZShoKTsKPiAg ICAgIGlmICggaW5zdCA+IDEgKQo+ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ICAgICAgcyA9 ICZkLT5hcmNoLmh2bV9kb21haW4udnBpY1tpbnN0XTsKPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20t eDg2L2h2bS9zYXZlLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zYXZlLmgKPiBA QCAtODQsMTAgKzg0LDEwIEBAIHZvaWQgX2h2bV9yZWFkX2VudHJ5KHN0cnVjdCBodm1fZG9tYWlu X2MKPiAgICAgIF9odm1fbG9hZF9lbnRyeShfeCwgX2gsIF9kc3QsIDApCj4gCj4gIC8qIFVubWFy c2hhbGxpbmc6IHdoYXQgaXMgdGhlIGluc3RhbmNlIElEIG9mIHRoZSBuZXh0IGVudHJ5PyAqLwo+ IC1zdGF0aWMgaW5saW5lIHVpbnQxNl90IGh2bV9sb2FkX2luc3RhbmNlKHN0cnVjdCBodm1fZG9t YWluX2NvbnRleHQgKmgpCj4gK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGh2bV9sb2FkX2lu c3RhbmNlKGNvbnN0IHN0cnVjdAo+IGh2bV9kb21haW5fY29udGV4dCAqaCkKPiAgewo+IC0gICAg c3RydWN0IGh2bV9zYXZlX2Rlc2NyaXB0b3IgKmQKPiAtICAgICAgICA9IChzdHJ1Y3QgaHZtX3Nh dmVfZGVzY3JpcHRvciAqKSZoLT5kYXRhW2gtPmN1cl07Cj4gKyAgICBjb25zdCBzdHJ1Y3QgaHZt X3NhdmVfZGVzY3JpcHRvciAqZCA9IChjb25zdCB2b2lkICopJmgtPmRhdGFbaC0+Y3VyXTsKPiAr Cj4gICAgICByZXR1cm4gZC0+aW5zdGFuY2U7Cj4gIH0KPiAKPiAKPiAKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs