From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v2 9/9] x86/vmx: Don't leak EFER.NXE into guest context Date: Wed, 13 Jun 2018 11:19:35 +0100 Message-ID: References: <1528483723-4128-1-git-send-email-andrew.cooper3@citrix.com> <1528483723-4128-10-git-send-email-andrew.cooper3@citrix.com> <5B1F8A3702000078001CA457@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5B1F8A3702000078001CA457@prv1-mh.provo.novell.com> Content-Language: en-GB List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jan Beulich Cc: Kevin Tian , Wei Liu , Tim Deegan , Xen-devel , Jun Nakajima , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org T24gMTIvMDYvMTggMDk6NTQsIEphbiBCZXVsaWNoIHdyb3RlOgo+Pj4+IE9uIDA4LjA2LjE4IGF0 IDIwOjQ4LCA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6Cj4+IEBAIC0xNjQ2LDIy ICsxNjM3LDcxIEBAIHN0YXRpYyB2b2lkIHZteF91cGRhdGVfZ3Vlc3RfY3Ioc3RydWN0IHZjcHUg KnYsIHVuc2lnbmVkIGludCBjciwKPj4gIAo+PiAgc3RhdGljIHZvaWQgdm14X3VwZGF0ZV9ndWVz dF9lZmVyKHN0cnVjdCB2Y3B1ICp2KQo+PiAgewo+PiAtICAgIHVuc2lnbmVkIGxvbmcgdm1fZW50 cnlfdmFsdWU7Cj4+ICsgICAgdW5zaWduZWQgbG9uZyBlbnRyeV9jdGxzLCBndWVzdF9lZmVyID0g di0+YXJjaC5odm1fdmNwdS5ndWVzdF9lZmVyLAo+PiArICAgICAgICB4ZW5fZWZlciA9IHJlYWRf ZWZlcigpOwo+PiArCj4+ICsgICAgaWYgKCBwYWdpbmdfbW9kZV9zaGFkb3codi0+ZG9tYWluKSAp Cj4+ICsgICAgewo+PiArICAgICAgICAvKgo+PiArICAgICAgICAgKiBXaGVuIHVzaW5nIHNoYWRv dyBwYWdldGFibGVzLCBFRkVSLk5YIGlzIGEgWGVuLW93bmVkIGJpdCBhbmQgaXMgbm90Cj4+ICsg ICAgICAgICAqIHVuZGVyIGd1ZXN0IGNvbnRyb2wuCj4+ICsgICAgICAgICAqLwo+PiArICAgICAg ICBndWVzdF9lZmVyICY9IH5FRkVSX05YOwo+PiArICAgICAgICBndWVzdF9lZmVyIHw9IHhlbl9l ZmVyICYgRUZFUl9OWDsKPj4gKyAgICB9Cj4+ICsKPj4gKyAgICBpZiAoICEodi0+YXJjaC5odm1f dm14LnNlY29uZGFyeV9leGVjX2NvbnRyb2wgJgo+PiArICAgICAgICAgICBTRUNPTkRBUllfRVhF Q19VTlJFU1RSSUNURURfR1VFU1QpICkKPiAhdm14X3VucmVzdHJpY3RlZF9ndWVzdCh2KQo+Cj4+ ICsgICAgewo+PiArICAgICAgICAvKgo+PiArICAgICAgICAgKiBXaGVuIFVucmVzdHJpY3RlZCBH dWVzdCBpcyBub3QgZW5hYmxlZCBpbiB0aGUgVk1DUywgaGFyZHdhcmUgZG9lcwo+PiArICAgICAg ICAgKiBub3QgdG9sZXJhdGUgdGhlIExNRSBhbmQgTE1BIHNldHRpbmdzIGJlaW5nIGRpZmZlcmVu dC4gIEFzIHdyaXRlcwo+PiArICAgICAgICAgKiB0byBDUjAgYXJlIGludGVyY2VwdGVkLCBpdCBp cyBzYWZlIHRvIGxlYXZlIExNRSBjbGVhciBhdCB0aGlzCj4+ICsgICAgICAgICAqIHBvaW50LCBh bmQgZml4IHVwIGJvdGggTE1FIGFuZCBMTUEgd2hlbiBDUjAuUEcgaXMgc2V0Lgo+PiArICAgICAg ICAgKi8KPj4gKyAgICAgICAgaWYgKCAhKGd1ZXN0X2VmZXIgJiBFRkVSX0xNQSkgKQo+PiArICAg ICAgICAgICAgZ3Vlc3RfZWZlciAmPSB+RUZFUl9MTUU7Cj4+ICsgICAgfQo+PiAgCj4+ICAgICAg dm14X3ZtY3NfZW50ZXIodik7Cj4+ICAKPj4gLSAgICBfX3ZtcmVhZChWTV9FTlRSWV9DT05UUk9M UywgJnZtX2VudHJ5X3ZhbHVlKTsKPj4gLSAgICBpZiAoIHYtPmFyY2guaHZtX3ZjcHUuZ3Vlc3Rf ZWZlciAmIEVGRVJfTE1BICkKPj4gLSAgICAgICAgdm1fZW50cnlfdmFsdWUgfD0gVk1fRU5UUllf SUEzMkVfTU9ERTsKPj4gKyAgICAvKgo+PiArICAgICAqIFRoZSBpbnRlbmRlZCBndWVzdCBydW5u aW5nIG1vZGUgaXMgZGVyaXZlZCBmcm9tIFZNX0VOVFJZX0lBMzJFX01PREUsCj4+ICsgICAgICog d2hpY2ggKGFyY2hpdGVjdHVyYWxseSkgaXMgdGhlIGd1ZXN0J3MgTE1BIHNldHRpbmcuCj4+ICsg ICAgICovCj4+ICsgICAgX192bXJlYWQoVk1fRU5UUllfQ09OVFJPTFMsICZlbnRyeV9jdGxzKTsK Pj4gKwo+PiArICAgIGVudHJ5X2N0bHMgJj0gflZNX0VOVFJZX0lBMzJFX01PREU7Cj4+ICsgICAg aWYgKCBndWVzdF9lZmVyICYgRUZFUl9MTUEgKQo+PiArICAgICAgICBlbnRyeV9jdGxzIHw9IFZN X0VOVFJZX0lBMzJFX01PREU7Cj4+ICsKPj4gKyAgICBfX3Ztd3JpdGUoVk1fRU5UUllfQ09OVFJP TFMsIGVudHJ5X2N0bHMpOwo+PiArCj4+ICsgICAgLyogV2UgZXhwZWN0IHRvIHVzZSBFRkVSIGxv YWRpbmcgaW4gdGhlIGNvbW1vbiBjYXNlLCBidXQuLi4gKi8KPj4gKyAgICBpZiAoIGxpa2VseShj cHVfaGFzX3ZteF9lZmVyKSApCj4+ICsgICAgICAgIF9fdm13cml0ZShHVUVTVF9FRkVSLCBndWVz dF9lZmVyKTsKPj4gKwo+PiArICAgIC8qIC4uLiBvbiBHZW4xIFZULXggaGFyZHdhcmUsIHdlIGhh dmUgdG8gdXNlIE1TUiBsb2FkL3NhdmUgbGlzdHMgaW5zdGVhZC4gKi8KPj4gICAgICBlbHNlCj4+ IC0gICAgICAgIHZtX2VudHJ5X3ZhbHVlICY9IH5WTV9FTlRSWV9JQTMyRV9NT0RFOwo+PiAtICAg IF9fdm13cml0ZShWTV9FTlRSWV9DT05UUk9MUywgdm1fZW50cnlfdmFsdWUpOwo+PiArICAgIHsK Pj4gKyAgICAgICAgLyoKPj4gKyAgICAgICAgICogV2hlbiB0aGUgZ3Vlc3RzIGNob2ljZSBvZiBF RkVSIG1hdGNoZXMgWGVuJ3MsIHJlbW92ZSB0aGUgbG9hZC9zYXZlCj4+ICsgICAgICAgICAqIGxp c3QgZW50cmllcy4gIEl0IGlzIHVubmVjZXNzYXJ5IG92ZXJoZWFkLCBlc3BlY2lhbGx5IGFzIHRo aXMgaXMKPj4gKyAgICAgICAgICogZXhwZWN0ZWQgdG8gYmUgdGhlIGNvbW1vbiBjYXNlIGZvciA2 NGJpdCBndWVzdHMuCj4+ICsgICAgICAgICAqLwo+PiArICAgICAgICBpZiAoIGd1ZXN0X2VmZXIg PT0geGVuX2VmZXIgKQo+PiArICAgICAgICB7Cj4+ICsgICAgICAgICAgICB2bXhfZGVsX21zcih2 LCBNU1JfRUZFUiwgVk1YX01TUl9IT1NUKTsKPj4gKyAgICAgICAgICAgIHZteF9kZWxfbXNyKHYs IE1TUl9FRkVSLCBWTVhfTVNSX0dVRVNUX0xPQURPTkxZKTsKPj4gKyAgICAgICAgfQo+PiArICAg ICAgICBlbHNlCj4+ICsgICAgICAgIHsKPj4gKyAgICAgICAgICAgIHZteF9hZGRfbXNyKHYsIE1T Ul9FRkVSLCB4ZW5fZWZlciwgVk1YX01TUl9IT1NUKTsKPj4gKyAgICAgICAgICAgIHZteF9hZGRf bXNyKHYsIE1TUl9FRkVSLCBndWVzdF9lZmVyLCBWTVhfTVNSX0dVRVNUX0xPQURPTkxZKTsKPj4g KyAgICAgICAgfQo+PiArICAgIH0KPj4gIAo+PiAgICAgIHZteF92bWNzX2V4aXQodik7Cj4+IC0K Pj4gLSAgICBpZiAoIHYgPT0gY3VycmVudCApCj4+IC0gICAgICAgIHdyaXRlX2VmZXIoKHJlYWRf ZWZlcigpICYgfkVGRVJfU0NFKSB8Cj4+IC0gICAgICAgICAgICAgICAgICAgKHYtPmFyY2guaHZt X3ZjcHUuZ3Vlc3RfZWZlciAmIEVGRVJfU0NFKSk7Cj4+ICB9Cj4gQXMgbWVudGlvbmVkIGJlZm9y ZSwgb3ZlcmFsbCB0aGlzIHdvdWxkIGFsbG93IGZvciBkaXNhYmxpbmcgcmVhZCBpbnRlcmNlcHRz IGluCj4gY2VydGFpbiBjYXNlcy4gSWYgeW91IGRvbid0IHdhbnQgdG8gZG8gdGhpcyByaWdodCBh d2F5IHRoYXQncyBjZXJ0YWlubHkgZmluZSwgYnV0Cj4gY291bGQgSSB0YWxrIHlvdSBpbnRvIGF0 IGxlYXN0IGFkZGluZyBhIGNvbW1lbnQgdG8gdGhpcyBlZmZlY3Q/CgpBcG9sb2dpZXMgLSB0aGF0 IHdhcyBhIHN0cmFpZ2h0IG92ZXJzaWdodC7CoCBSYXp2YW4gdGhpbmtzIHRoZSBtb25pdG9yCnNp ZGUgb2YgdGhpbmdzIGlzIGFjdHVhbGx5IGZpbmUsIHdoaWNoIHdhcyBteSBjb25jZXJuIHdpdGgg ZG9pbmcgaXQKb3JpZ2luYWxseS4KCkkndmUgaW5zZXJ0ZWQgdGhlIGZvbGxvd2luZyBmcmFnbWVu dCBpbiB0aGUgdGFpbCBvZiB0aGlzIGZ1bmN0aW9uLCBhZnRlcgp0aGUgdm14X3ZtY3NfZXhpdCh2 KTsKCiAgICAvKgogICAgICogSWYgdGhlIGd1ZXN0cyB2aXJ0dWFsaXNlZCB2aWV3IG9mIE1TUl9F RkVSIG1hdGNoZXMgdGhlIHZhbHVlIGxvYWRlZAogICAgICogaW50byBoYXJkd2FyZSwgY2xlYXIg dGhlIHJlYWQgaW50ZXJjZXB0IHRvIGF2b2lkIHVubmVjZXNzYXJ5IFZNRXhpdHMuCiAgICAgKi8K ICAgIGlmICggZ3Vlc3RfZWZlciA9PSB2LT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X2VmZXIgKQogICAg ICAgIHZteF9jbGVhcl9tc3JfaW50ZXJjZXB0KHYsIE1TUl9FRkVSLCBWTVhfTVNSX1IpOwogICAg ZWxzZQogICAgICAgIHZteF9zZXRfbXNyX2ludGVyY2VwdCh2LCBNU1JfRUZFUiwgVk1YX01TUl9S KTsKCmFuZCB3aWxsIHF1aWNrbHkgd2hpcCB1cCBhbiBYVEYgdGVzdCBmb3Igc29tZSBjb25maXJt YXRpb24uCgo+Cj4+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bWNzLmgKPj4g KysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaAo+PiBAQCAtMzExLDYgKzMx MSw4IEBAIGV4dGVybiB1NjQgdm14X2VwdF92cGlkX2NhcDsKPj4gICAgICAodm14X2NwdV9iYXNl ZF9leGVjX2NvbnRyb2wgJiBDUFVfQkFTRURfTU9OSVRPUl9UUkFQX0ZMQUcpCj4+ICAjZGVmaW5l IGNwdV9oYXNfdm14X3BhdCBcCj4+ICAgICAgKHZteF92bWVudHJ5X2NvbnRyb2wgJiBWTV9FTlRS WV9MT0FEX0dVRVNUX1BBVCkKPj4gKyNkZWZpbmUgY3B1X2hhc192bXhfZWZlciBcCj4+ICsgICAg KHZteF92bWVudHJ5X2NvbnRyb2wgJiBWTV9FTlRSWV9MT0FEX0dVRVNUX0VGRVIpCj4gSSB0aGlu ayB0aGlzIHdhcyBhc2tlZCBiZWZvcmUsIGJ1dCBJJ20gY29uY2VybmVkIChvZiBhdCBsZWFzdCB0 aGUgaW5jb25zaXN0ZW5jeSkKPiBhbnl3YXk6IGNwdV9oYXNfdm14X21weCwgZm9yIGV4YW1wbGUs IGNoZWNrcyBib3RoIGZsYWdzLiBPZiBjb3Vyc2UgdGhlcmUncwo+IHVubGlrZWx5IHRvIGJlIGFu eSBoYXJkd2FyZSB3aXRoIGp1c3Qgb25lIG9mIHRoZSB0d28gZmVhdHVyZXMsIGJ1dCB3aGF0IGFi b3V0Cj4gYnVnZ3kgdmlydHVhbCBlbnZpcm9ubWVudHMgd2UgbWlnaHQgcnVuIGluPwoKSSdtIG5v dCB3b3JyaWVkIGFib3V0IGJ1Z2d5IHZpcnR1YWwgZW52aXJvbm1lbnRzLsKgIEZvciBvbmUsIGl0 cyBub3QKcmVhbGx5IG91ciBidWcgdG8gY2FyZSBhYm91dCwgYnV0IGlycmVzcGVjdGl2ZSwgaWYg YW4gZW52aXJvbm1lbnQgaXMKdGhpcyBidWdneSwgaXQgd29uJ3Qgbm90aWNlIHRoZSBzZXR0aW5n IHdlJ3ZlIG1hZGUsIGFuZCB0aGUgdm1lbnRyeSB3aWxsCmJlIGZpbmUuCgpUaGlzLCBGWUksIGlz IGV4YWN0bHkgd2hhdCBoYXBwZW5zIHdpdGggdGhlIFZpcnR1YWwgTk1JIGZlYXR1cmUgd2hlbgpu ZXN0ZWQgdW5kZXIgWGVuIGF0bS7CoCBTb21lIGh5cGVydmlzb3JzIGZhaWwgdG8gY2hlY2sgZm9y IGl0LCBhbmQKYmxpbmRseSB1c2UgaXQsIGFuZCB0aGV5IG1vc3RseSBmdW5jdGlvbiB3aGVuIG5l c3RlZCB1bmRlciBYZW4uwqAgVGhlCmh5cGVydmlzb3Igd2hpY2ggY2hlY2sgZm9yIGl0IGFzIGEg cHJlcmVxdWlzaXRlIGZhaWwgdG8gc3RhcnQuCgo+IElPVyAtIGlmIHlvdSB3YW50IHRvIGNoZWNr IGp1c3Qgb25lIG9mIHRoZSB0d28gZmxhZ3MgaGVyZSwgSSB0aGluayB5b3Ugd2FudCB0bwo+IGVu Zm9yY2UgdGhlIGRlcGVuZGVuY3kgaW4gdm14X2luaXRfdm1jc19jb25maWcoKSwgY2xlYXJpbmcg dGhlIGVudHJ5IGNvbnRyb2wKPiBiaXQgaWYgdGhlIGV4aXQgY29udHJvbCBvbmUgY29tZXMgb3V0 IGNsZWFyIGZyb20gYWRqdXN0X3ZteF9jb250cm9scygpLgoKQXMgSSBzYWlkIGJlZm9yZSwgYSB3 b3JrIGFsb25nIHRoaXMgbGluZSBpcyBjb21pbmcgYXMgcGFydCBvZiB0aGUgTmVzdGVkClZpcnQg d29yay7CoCBUaGUgY3VycmVudCBsb2dpYyBoZXJlIGlzIGFscmVhZHkgaW5jb25zaXN0ZW50LCBh bmQgaXMgZmluZQppbiB0aGlzIGNhc2UuCgp+QW5kcmV3CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt YW4vbGlzdGluZm8veGVuLWRldmVs