From mboxrd@z Thu Jan 1 00:00:00 1970 From: Borislav Petkov Subject: Re: [PATCH v4 1/5] x86/paravirt: Add _safe to the read_msr and write_msr PV hooks Date: Mon, 14 Mar 2016 12:57:29 +0100 Message-ID: <20160314115729.GC15800__19045.1830196709$1457956857$gmane$org@pd.tnic> References: <7e72cd6ce08b946872a462fad13eca1810b8671d.1457805972.git.luto@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <7e72cd6ce08b946872a462fad13eca1810b8671d.1457805972.git.luto@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andy Lutomirski Cc: KVM list , Peter Zijlstra , Linus Torvalds , X86 ML , "linux-kernel@vger.kernel.org" , xen-devel , Paolo Bonzini , Andrew Morton , Arjan van de Ven List-Id: xen-devel@lists.xenproject.org T24gU2F0LCBNYXIgMTIsIDIwMTYgYXQgMTA6MDg6NDhBTSAtMDgwMCwgQW5keSBMdXRvbWlyc2tp IHdyb3RlOgo+IFRoZXNlIGhvb2tzIG1hdGNoIHRoZSBfc2FmZSB2YXJpYW50cywgc28gbmFtZSB0 aGVtIGFjY29yZGluZ2x5Lgo+IFRoaXMgd2lsbCBtYWtlIHJvb20gZm9yIHVuc2FmZSBQViBob29r cy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBBbmR5IEx1dG9taXJza2kgPGx1dG9Aa2VybmVsLm9yZz4K PiAtLS0KPiAgYXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnQuaCAgICAgICB8IDMzICsrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQo+ICBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJh dmlydF90eXBlcy5oIHwgIDggKysrKy0tLS0KPiAgYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0LmMg ICAgICAgICAgICB8ICA0ICsrLS0KPiAgYXJjaC94ODYveGVuL2VubGlnaHRlbi5jICAgICAgICAg ICAgICB8ICA0ICsrLS0KPiAgNCBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAyNCBk ZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZp cnQuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0LmgKPiBpbmRleCBmNjE5MjUwMjE0 OWUuLjJlNDkyMjhlZDlhMyAxMDA2NDQKPiAtLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJh dmlydC5oCj4gKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnQuaAo+IEBAIC0xMjks MzQgKzEyOSwzNSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgd2JpbnZkKHZvaWQpCj4gIAo+ICAjZGVm aW5lIGdldF9rZXJuZWxfcnBsKCkgIChwdl9pbmZvLmtlcm5lbF9ycGwpCj4gIAo+IC1zdGF0aWMg aW5saW5lIHU2NCBwYXJhdmlydF9yZWFkX21zcih1bnNpZ25lZCBtc3IsIGludCAqZXJyKQo+ICtz dGF0aWMgaW5saW5lIHU2NCBwYXJhdmlydF9yZWFkX21zcl9zYWZlKHVuc2lnbmVkIG1zciwgaW50 ICplcnIpCj4gIHsKPiAtCXJldHVybiBQVk9QX0NBTEwyKHU2NCwgcHZfY3B1X29wcy5yZWFkX21z ciwgbXNyLCBlcnIpOwo+ICsJcmV0dXJuIFBWT1BfQ0FMTDIodTY0LCBwdl9jcHVfb3BzLnJlYWRf bXNyX3NhZmUsIG1zciwgZXJyKTsKPiAgfQo+ICAKPiAtc3RhdGljIGlubGluZSBpbnQgcGFyYXZp cnRfd3JpdGVfbXNyKHVuc2lnbmVkIG1zciwgdW5zaWduZWQgbG93LCB1bnNpZ25lZCBoaWdoKQo+ ICtzdGF0aWMgaW5saW5lIGludCBwYXJhdmlydF93cml0ZV9tc3Jfc2FmZSh1bnNpZ25lZCBtc3Is Cj4gKwkJCQkJICB1bnNpZ25lZCBsb3csIHVuc2lnbmVkIGhpZ2gpCj4gIHsKPiAtCXJldHVybiBQ Vk9QX0NBTEwzKGludCwgcHZfY3B1X29wcy53cml0ZV9tc3IsIG1zciwgbG93LCBoaWdoKTsKPiAr CXJldHVybiBQVk9QX0NBTEwzKGludCwgcHZfY3B1X29wcy53cml0ZV9tc3Jfc2FmZSwgbXNyLCBs b3csIGhpZ2gpOwo+ICB9Cj4gIAo+ICAvKiBUaGVzZSBzaG91bGQgYWxsIGRvIEJVR19PTihfZXJy KSwgYnV0IG91ciBoZWFkZXJzIGFyZSB0b28gdGFuZ2xlZC4gKi8KPiAgI2RlZmluZSByZG1zciht c3IsIHZhbDEsIHZhbDIpCQkJXAo+ICBkbyB7CQkJCQkJXAo+ICAJaW50IF9lcnI7CQkJCVwKPiAt CXU2NCBfbCA9IHBhcmF2aXJ0X3JlYWRfbXNyKG1zciwgJl9lcnIpOwlcCj4gKwl1NjQgX2wgPSBw YXJhdmlydF9yZWFkX21zcl9zYWZlKG1zciwgJl9lcnIpOwlcCj4gIAl2YWwxID0gKHUzMilfbDsJ CQkJXAo+ICAJdmFsMiA9IF9sID4+IDMyOwkJCVwKPiAgfSB3aGlsZSAoMCkKPiAgCj4gICNkZWZp bmUgd3Jtc3IobXNyLCB2YWwxLCB2YWwyKQkJCVwKPiAgZG8gewkJCQkJCVwKPiAtCXBhcmF2aXJ0 X3dyaXRlX21zcihtc3IsIHZhbDEsIHZhbDIpOwlcCj4gKwlwYXJhdmlydF93cml0ZV9tc3Jfc2Fm ZShtc3IsIHZhbDEsIHZhbDIpOwlcCj4gIH0gd2hpbGUgKDApCj4gIAo+ICAjZGVmaW5lIHJkbXNy bChtc3IsIHZhbCkJCQlcCj4gIGRvIHsJCQkJCQlcCj4gIAlpbnQgX2VycjsJCQkJXAo+IC0JdmFs ID0gcGFyYXZpcnRfcmVhZF9tc3IobXNyLCAmX2Vycik7CVwKPiArCXZhbCA9IHBhcmF2aXJ0X3Jl YWRfbXNyX3NhZmUobXNyLCAmX2Vycik7CVwKPiAgfSB3aGlsZSAoMCkKPiAgCj4gIHN0YXRpYyBp bmxpbmUgdm9pZCB3cm1zcmwodW5zaWduZWQgbXNyLCB1NjQgdmFsKQo+IEBAIC0xNjQsMjMgKzE2 NSwyMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgd3Jtc3JsKHVuc2lnbmVkIG1zciwgdTY0IHZhbCkK PiAgCXdybXNyKG1zciwgKHUzMil2YWwsICh1MzIpKHZhbD4+MzIpKTsKPiAgfQo+ICAKPiAtI2Rl ZmluZSB3cm1zcl9zYWZlKG1zciwgYSwgYikJcGFyYXZpcnRfd3JpdGVfbXNyKG1zciwgYSwgYikK PiArI2RlZmluZSB3cm1zcl9zYWZlKG1zciwgYSwgYikJcGFyYXZpcnRfd3JpdGVfbXNyX3NhZmUo bXNyLCBhLCBiKQo+ICAKPiAgLyogcmRtc3Igd2l0aCBleGNlcHRpb24gaGFuZGxpbmcgKi8KPiAt I2RlZmluZSByZG1zcl9zYWZlKG1zciwgYSwgYikJCQlcCj4gLSh7CQkJCQkJXAo+IC0JaW50IF9l cnI7CQkJCVwKPiAtCXU2NCBfbCA9IHBhcmF2aXJ0X3JlYWRfbXNyKG1zciwgJl9lcnIpOwlcCj4g LQkoKmEpID0gKHUzMilfbDsJCQkJXAo+IC0JKCpiKSA9IF9sID4+IDMyOwkJCVwKPiAtCV9lcnI7 CQkJCQlcCj4gKyNkZWZpbmUgcmRtc3Jfc2FmZShtc3IsIGEsIGIpCQkJCVwKPiArKHsJCQkJCQkJ XAo+ICsJaW50IF9lcnI7CQkJCQlcCj4gKwl1NjQgX2wgPSBwYXJhdmlydF9yZWFkX21zcl9zYWZl KG1zciwgJl9lcnIpOwlcCj4gKwkoKmEpID0gKHUzMilfbDsJCQkJCVwKPiArCSgqYikgPSBfbCA+ PiAzMjsJCQkJXAo+ICsJX2VycjsJCQkJCQlcCj4gIH0pCj4gIAo+ICBzdGF0aWMgaW5saW5lIGlu dCByZG1zcmxfc2FmZSh1bnNpZ25lZCBtc3IsIHVuc2lnbmVkIGxvbmcgbG9uZyAqcCkKPiAgewo+ ICAJaW50IGVycjsKPiAgCj4gLQkqcCA9IHBhcmF2aXJ0X3JlYWRfbXNyKG1zciwgJmVycik7Cj4g KwkqcCA9IHBhcmF2aXJ0X3JlYWRfbXNyX3NhZmUobXNyLCAmZXJyKTsKPiAgCXJldHVybiBlcnI7 Cj4gIH0KPiAgCj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0X3R5 cGVzLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydF90eXBlcy5oCj4gaW5kZXggNzdk YjU2MTZhNDczLi41YTA2Y2NjZDM2ZjAgMTAwNjQ0Cj4gLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9h c20vcGFyYXZpcnRfdHlwZXMuaAo+ICsrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0 X3R5cGVzLmgKPiBAQCAtMTU1LDEwICsxNTUsMTAgQEAgc3RydWN0IHB2X2NwdV9vcHMgewo+ICAJ dm9pZCAoKmNwdWlkKSh1bnNpZ25lZCBpbnQgKmVheCwgdW5zaWduZWQgaW50ICplYngsCj4gIAkJ ICAgICAgdW5zaWduZWQgaW50ICplY3gsIHVuc2lnbmVkIGludCAqZWR4KTsKPiAgCj4gLQkvKiBN U1IsIFBNQyBhbmQgVFNSIG9wZXJhdGlvbnMuCj4gLQkgICBlcnIgPSAwLy1FRkFVTFQuICB3cm1z ciByZXR1cm5zIDAvLUVGQVVMVC4gKi8KPiAtCXU2NCAoKnJlYWRfbXNyKSh1bnNpZ25lZCBpbnQg bXNyLCBpbnQgKmVycik7Cj4gLQlpbnQgKCp3cml0ZV9tc3IpKHVuc2lnbmVkIGludCBtc3IsIHVu c2lnbmVkIGxvdywgdW5zaWduZWQgaGlnaCk7Cj4gKwkvKiBNU1Igb3BlcmF0aW9ucy4KPiArCSAg IGVyciA9IDAvLUVJTy4gIHdybXNyIHJldHVybnMgMC8tRUlPLiAqLwoKUGxlYXNlIGZpeCB0aGUg Y29tbWVudCBmb3JtYXQgd2hpbGUgeW91J3JlIHRvdWNoaW5nIHRoaXMgOgoKCS8qCgkgKiBBIHNl bnRlbmNlLgoJICogQW5vdGhlciBzZW50ZW5jZS4KCSAqLwoKT3RoZXIgdGhhbiB0aGF0OgoKQWNr ZWQtYnk6IEJvcmlzbGF2IFBldGtvdiA8YnBAc3VzZS5kZT4KCi0tIApSZWdhcmRzL0dydXNzLAog ICAgQm9yaXMuCgpFQ08gdGlwICMxMDE6IFRyaW0geW91ciBtYWlscyB3aGVuIHlvdSByZXBseS4K Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==