From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 2/5] x86/pv: Avoid leaking other guests' MSR_TSC_AUX values into PV context Date: Tue, 20 Feb 2018 11:58:40 +0000 Message-ID: <1519127923-23539-3-git-send-email-andrew.cooper3@citrix.com> References: <1519127923-23539-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1519127923-23539-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Kevin Tian , Wei Liu , Jan Beulich , Andrew Cooper , Jun Nakajima , Boris Ostrovsky , Suravee Suthikulpanit , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org SWYgdGhlIENQVSBwaXBlbGluZSBzdXBwb3J0cyBSRFRTQ1Agb3IgUkRQSUQsIGEgZ3Vlc3QgY2Fu IG9ic2VydmUgdGhlIHZhbHVlIGluCk1TUl9UU0NfQVVYLCBpcnJlc3BlY3RpdmUgb2Ygd2hldGhl ciB0aGUgcmVsZXZhbnQgQ1BVSUQgZmVhdHVyZXMgYXJlCmFkdmVydGlzZWQvaGlkZGVuLgoKQXQg dGhlIG1vbWVudCwgcGFyYXZpcnRfY3R4dF9zd2l0Y2hfdG8oKSBvbmx5IHdyaXRlcyB0byBNU1Jf VFNDX0FVWCBpZgpUU0NfTU9ERV9QVlJEVFNDUCBtb2RlIGlzIGVuYWJsZWQsIGJ1dCB0aGlzIGlz IG5vdCB0aGUgZGVmYXVsdCBtb2RlLgpUaGVyZWZvcmUsIGRlZmF1bHQgUFYgZ3Vlc3RzIGNhbiBy ZWFkIHRoZSB2YWx1ZSBmcm9tIGEgcHJldmlvdXNseSBzY2hlZHVsZWQKSFZNIHZjcHUsIG9yIFRT Q19NT0RFX1BWUkRUU0NQLWVuYWJsZWQgUFYgZ3Vlc3QuCgpBbHRlciB0aGUgUFYgcGF0aCB0byBh bHdheXMgd3JpdGUgdG8gTVNSX1RTQ19BVVgsIHVzaW5nIDAgaW4gdGhlIGNvbW1vbiBjYXNlLgoK VG8gYW1vcnRpc2Ugb3ZlcmhlYWQgY29zdCwgaW50cm9kdWNlIHdybXNyX3RzY19hdXgoKSB3aGlj aCBwZXJmb3JtcyBhIGxhenkKdXBkYXRlIG9mIHRoZSBNU1IsIGFuZCB1c2UgdGhpcyBmdW5jdGlv biBjb25zaXN0ZW50bHkgYWNyb3NzIHRoZSBjb2RlYmFzZS4KClNpZ25lZC1vZmYtYnk6IEFuZHJl dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2gg PEpCZXVsaWNoQHN1c2UuY29tPgpDQzogSnVuIE5ha2FqaW1hIDxqdW4ubmFrYWppbWFAaW50ZWwu Y29tPgpDQzogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+CkNDOiBCb3JpcyBPc3Ry b3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgpDQzogU3VyYXZlZSBTdXRoaWt1bHBh bml0IDxzdXJhdmVlLnN1dGhpa3VscGFuaXRAYW1kLmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUy QGNpdHJpeC5jb20+CkNDOiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K Q0M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KCk4uQi4g VGhpcyBoYXMgYmVlbiBkZWVtZWQgbm90IGEgc2VjdXJpdHkgaXNzdWUsIGJlY2F1c2UgdGhlIE1T UiBkb2Vzbid0IHN0b3JlCmFueSBzZW5zaXRpdmUgaW5mb3JtYXRpb24uCi0tLQogeGVuL2FyY2gv eDg2L2RvbWFpbi5jICAgICAgfCAgNiArKystLS0KIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAg IHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jIHwgIDIgKy0KIHhlbi9hcmNoL3g4 Ni9odm0vdm14L3ZteC5jIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9tc3IuYyAgICAgICAgIHwgIDIg KysKIHhlbi9pbmNsdWRlL2FzbS14ODYvbXNyLmggIHwgMTYgKysrKysrKysrKysrKystLQogNiBm aWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwppbmRleCBm OTMzMjdiLi45YzM1MjdmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIv eGVuL2FyY2gveDg2L2RvbWFpbi5jCkBAIC0xNTMzLDkgKzE1MzMsOSBAQCB2b2lkIHBhcmF2aXJ0 X2N0eHRfc3dpdGNoX3RvKHN0cnVjdCB2Y3B1ICp2KQogICAgIGlmICggdW5saWtlbHkodi0+YXJj aC5kZWJ1Z3JlZ1s3XSAmIERSN19BQ1RJVkVfTUFTSykgKQogICAgICAgICBhY3RpdmF0ZV9kZWJ1 Z3JlZ3Modik7CiAKLSAgICBpZiAoICh2LT5kb21haW4tPmFyY2gudHNjX21vZGUgPT0gIFRTQ19N T0RFX1BWUkRUU0NQKSAmJgotICAgICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1JEVFND UCkgKQotICAgICAgICB3cml0ZV9yZHRzY3BfYXV4KHYtPmRvbWFpbi0+YXJjaC5pbmNhcm5hdGlv bik7CisgICAgaWYgKCBjcHVfaGFzX3JkdHNjcCApCisgICAgICAgIHdybXNyX3RzY19hdXgodi0+ ZG9tYWluLT5hcmNoLnRzY19tb2RlID09IFRTQ19NT0RFX1BWUkRUU0NQCisgICAgICAgICAgICAg ICAgICAgICAgPyB2LT5kb21haW4tPmFyY2guaW5jYXJuYXRpb24gOiAwKTsKIH0KIAogLyogVXBk YXRlIHBlci1WQ1BVIGd1ZXN0IHJ1bnN0YXRlIHNoYXJlZCBtZW1vcnkgYXJlYSAoaWYgcmVnaXN0 ZXJlZCkuICovCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gv eDg2L2h2bS9odm0uYwppbmRleCA1ZDM5MjEwLi4wNTM5NTUxIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTM1NzksNyAr MzU3OSw3IEBAIGludCBodm1fbXNyX3dyaXRlX2ludGVyY2VwdCh1bnNpZ25lZCBpbnQgbXNyLCB1 aW50NjRfdCBtc3JfY29udGVudCwKICAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5tc3JfdHNjX2F1 eCA9ICh1aW50MzJfdCltc3JfY29udGVudDsKICAgICAgICAgaWYgKCBjcHVfaGFzX3JkdHNjcAog ICAgICAgICAgICAgICYmICh2LT5kb21haW4tPmFyY2gudHNjX21vZGUgIT0gVFNDX01PREVfUFZS RFRTQ1ApICkKLSAgICAgICAgICAgIHdybXNybChNU1JfVFNDX0FVWCwgKHVpbnQzMl90KW1zcl9j b250ZW50KTsKKyAgICAgICAgICAgIHdybXNyX3RzY19hdXgobXNyX2NvbnRlbnQpOwogICAgICAg ICBicmVhazsKIAogICAgIGNhc2UgTVNSX0lBMzJfQVBJQ0JBU0U6CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvaHZtL3N2bS9zdm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCmluZGV4 IDlmNThhZmMuLmY1M2Y0MzAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5j CisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCkBAIC0xMDkzLDcgKzEwOTMsNyBAQCBz dGF0aWMgdm9pZCBzdm1fY3R4dF9zd2l0Y2hfdG8oc3RydWN0IHZjcHUgKnYpCiAgICAgc3ZtX3Rz Y19yYXRpb19sb2FkKHYpOwogCiAgICAgaWYgKCBjcHVfaGFzX3JkdHNjcCApCi0gICAgICAgIHdy bXNybChNU1JfVFNDX0FVWCwgaHZtX21zcl90c2NfYXV4KHYpKTsKKyAgICAgICAgd3Jtc3JfdHNj X2F1eChodm1fbXNyX3RzY19hdXgodikpOwogfQogCiBzdGF0aWMgdm9pZCBub3JldHVybiBzdm1f ZG9fcmVzdW1lKHN0cnVjdCB2Y3B1ICp2KQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92 bXgvdm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwppbmRleCA1Y2Q2ODllLi4zMWFj YjBlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYworKysgYi94ZW4vYXJj aC94ODYvaHZtL3ZteC92bXguYwpAQCAtNjE4LDcgKzYxOCw3IEBAIHN0YXRpYyB2b2lkIHZteF9y ZXN0b3JlX2d1ZXN0X21zcnMoc3RydWN0IHZjcHUgKnYpCiAgICAgfQogCiAgICAgaWYgKCBjcHVf aGFzX3JkdHNjcCApCi0gICAgICAgIHdybXNybChNU1JfVFNDX0FVWCwgaHZtX21zcl90c2NfYXV4 KHYpKTsKKyAgICAgICAgd3Jtc3JfdHNjX2F1eChodm1fbXNyX3RzY19hdXgodikpOwogfQogCiB2 b2lkIHZteF91cGRhdGVfY3B1X2V4ZWNfY29udHJvbChzdHJ1Y3QgdmNwdSAqdikKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9tc3IuYyBiL3hlbi9hcmNoL3g4Ni9tc3IuYwppbmRleCA3ODc1ZDlj Li43YmE5YTEwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbXNyLmMKKysrIGIveGVuL2FyY2gv eDg2L21zci5jCkBAIC0yNCw2ICsyNCw4IEBACiAjaW5jbHVkZSA8eGVuL3NjaGVkLmg+CiAjaW5j bHVkZSA8YXNtL21zci5oPgogCitERUZJTkVfUEVSX0NQVSh1aW50MzJfdCwgdHNjX2F1eCk7CisK IHN0cnVjdCBtc3JfZG9tYWluX3BvbGljeSBfX3JlYWRfbW9zdGx5IGh2bV9tYXhfbXNyX2RvbWFp bl9wb2xpY3ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgX19yZWFkX21vc3RseSAgcHZfbWF4 X21zcl9kb21haW5fcG9saWN5OwogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21z ci5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3IuaAppbmRleCA5MjhmMWNjLi45NDc1YTcxIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21zci5oCisrKyBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvbXNyLmgKQEAgLTExNSw4ICsxMTUsNiBAQCBzdGF0aWMgaW5saW5lIHVpbnQ2NF90IHJk dHNjX29yZGVyZWQodm9pZCkKICAgICBfX3dyaXRlX3RzYyh2YWwpOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiB9KQogCi0jZGVmaW5lIHdyaXRlX3JkdHNjcF9h dXgodmFsKSB3cm1zcihNU1JfVFNDX0FVWCwgKHZhbCksIDApCi0KICNkZWZpbmUgcmRwbWMoY291 bnRlcixsb3csaGlnaCkgXAogICAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXygicmRwbWMiIFwKIAkJ CSAgOiAiPWEiIChsb3cpLCAiPWQiIChoaWdoKSBcCkBAIC0yMTAsNiArMjA4LDIwIEBAIHN0YXRp YyBpbmxpbmUgdm9pZCB3cml0ZV9lZmVyKHVpbnQ2NF90IHZhbCkKIAogREVDTEFSRV9QRVJfQ1BV KHUzMiwgbGVyX21zcik7CiAKK0RFQ0xBUkVfUEVSX0NQVSh1aW50MzJfdCwgdHNjX2F1eCk7CisK Ky8qIExhenkgdXBkYXRlIG9mIE1TUl9UU0NfQVVYICovCitzdGF0aWMgaW5saW5lIHZvaWQgd3Jt c3JfdHNjX2F1eCh1aW50MzJfdCB2YWwpCit7CisgICAgdWludDMyX3QgKnRoaXNfdHNjX2F1eCA9 ICZ0aGlzX2NwdSh0c2NfYXV4KTsKKworICAgIGlmICggKnRoaXNfdHNjX2F1eCAhPSB2YWwgKQor ICAgIHsKKyAgICAgICAgd3Jtc3IoTVNSX1RTQ19BVVgsIHZhbCwgMCk7CisgICAgICAgICp0aGlz X3RzY19hdXggPSB2YWw7CisgICAgfQorfQorCiAvKiBNU1IgcG9saWN5IG9iamVjdCBmb3Igc2hh cmVkIHBlci1kb21haW4gTVNScyAqLwogc3RydWN0IG1zcl9kb21haW5fcG9saWN5CiB7Ci0tIAoy LjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=