From mboxrd@z Thu Jan 1 00:00:00 1970 From: Norbert Manthey Subject: [PATCH SpectreV1+L1TF v4 10/11] x86/hvm/hpet: block speculative out-of-bound accesses Date: Wed, 23 Jan 2019 12:57:34 +0100 Message-ID: <1548244655-32180-10-git-send-email-nmanthey@amazon.de> References: <1548244285-30813-1-git-send-email-nmanthey@amazon.de> 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] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gmHAc-0002vI-UH for xen-devel@lists.xenproject.org; Wed, 23 Jan 2019 11:58:14 +0000 In-Reply-To: <1548244285-30813-1-git-send-email-nmanthey@amazon.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Tim Deegan , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Dario Faggioli , Martin Pohlack , Julien Grall , David Woodhouse , Jan Beulich , Martin Mazein , Julian Stecklina , Bjoern Doebel , Norbert Manthey List-Id: xen-devel@lists.xenproject.org V2hlbiBpbnRlcmFjdGluZyB3aXRoIGhwZXQsIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgY2Fu IGJlIGV4ZWN1dGVkCmR1cmluZyBpbnN0cnVjdGlvbiBlbXVsYXRpb24sIHdoZXJlIHRoZSBndWVz dCBjb250cm9scyB0aGUgZGF0YSB0aGF0CmlzIHVzZWQuIEFzIGl0IGlzIGhhcmQgdG8gcHJlZGlj dCB0aGUgbnVtYmVyIG9mIGluc3RydWN0aW9ucyB0aGF0IGFyZQpleGVjdXRlZCBzcGVjdWxhdGl2 ZWx5LCB3ZSBwcmV2ZW50IG91dC1vZi1ib3VuZCBhY2Nlc3NlcyBieSB1c2luZyB0aGUKYXJyYXlf aW5kZXhfbm9zcGVjIGZ1bmN0aW9uIGZvciBndWVzdCBzcGVjaWZpZWQgYWRkcmVzc2VzIHRoYXQg c2hvdWxkCmJlIHVzZWQgZm9yIGhwZXQgb3BlcmF0aW9ucy4KClRoaXMgY29tbWl0IGlzIHBhcnQg b2YgdGhlIFNwZWN0cmVWMStMMVRGIG1pdGlnYXRpb24gcGF0Y2ggc2VyaWVzLgoKU2lnbmVkLW9m Zi1ieTogTm9yYmVydCBNYW50aGV5IDxubWFudGhleUBhbWF6b24uZGU+CgotLS0KIHhlbi9hcmNo L3g4Ni9odm0vaHBldC5jIHwgMTUgKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOSBp bnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9o dm0vaHBldC5jIGIveGVuL2FyY2gveDg2L2h2bS9ocGV0LmMKLS0tIGEveGVuL2FyY2gveDg2L2h2 bS9ocGV0LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9ocGV0LmMKQEAgLTI1LDYgKzI1LDcgQEAK ICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KICNpbmNsdWRlIDx4ZW4vZXZlbnQuaD4KICNpbmNsdWRl IDx4ZW4vdHJhY2UuaD4KKyNpbmNsdWRlIDx4ZW4vbm9zcGVjLmg+CiAKICNkZWZpbmUgZG9tYWlu X3ZocGV0KHgpICgmKHgpLT5hcmNoLmh2bS5wbF90aW1lLT52aHBldCkKICNkZWZpbmUgdmNwdV92 aHBldCh4KSAgIChkb21haW5fdmhwZXQoKHgpLT5kb21haW4pKQpAQCAtMTI0LDE1ICsxMjUsMTcg QEAgc3RhdGljIGlubGluZSB1aW50NjRfdCBocGV0X3JlYWQ2NChIUEVUU3RhdGUgKmgsIHVuc2ln bmVkIGxvbmcgYWRkciwKICAgICBjYXNlIEhQRVRfVG5fQ0ZHKDApOgogICAgIGNhc2UgSFBFVF9U bl9DRkcoMSk6CiAgICAgY2FzZSBIUEVUX1RuX0NGRygyKToKLSAgICAgICAgcmV0dXJuIGgtPmhw ZXQudGltZXJzW0hQRVRfVE4oQ0ZHLCBhZGRyKV0uY29uZmlnOworICAgICAgICByZXR1cm4gYXJy YXlfYWNjZXNzX25vc3BlYyhoLT5ocGV0LnRpbWVycywgSFBFVF9UTihDRkcsIGFkZHIpKS5jb25m aWc7CiAgICAgY2FzZSBIUEVUX1RuX0NNUCgwKToKICAgICBjYXNlIEhQRVRfVG5fQ01QKDEpOgog ICAgIGNhc2UgSFBFVF9Ubl9DTVAoMik6Ci0gICAgICAgIHJldHVybiBocGV0X2dldF9jb21wYXJh dG9yKGgsIEhQRVRfVE4oQ01QLCBhZGRyKSwgZ3Vlc3RfdGltZSk7CisgICAgICAgIHJldHVybiBo cGV0X2dldF9jb21wYXJhdG9yKGgsIGFycmF5X2luZGV4X25vc3BlYyhIUEVUX1ROKENNUCwgYWRk ciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBB UlJBWV9TSVpFKGgtPmhwZXQudGltZXJzKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0X3RpbWUpOwogICAgIGNhc2Ug SFBFVF9Ubl9ST1VURSgwKToKICAgICBjYXNlIEhQRVRfVG5fUk9VVEUoMSk6CiAgICAgY2FzZSBI UEVUX1RuX1JPVVRFKDIpOgotICAgICAgICByZXR1cm4gaC0+aHBldC50aW1lcnNbSFBFVF9UTihS T1VURSwgYWRkcildLmZzYjsKKyAgICAgICAgcmV0dXJuIGFycmF5X2FjY2Vzc19ub3NwZWMoaC0+ aHBldC50aW1lcnMsIEhQRVRfVE4oUk9VVEUsIGFkZHIpKS5mc2I7CiAgICAgfQogCiAgICAgcmV0 dXJuIDA7CkBAIC00MzgsNyArNDQxLDcgQEAgc3RhdGljIGludCBocGV0X3dyaXRlKAogICAgIGNh c2UgSFBFVF9Ubl9DRkcoMCk6CiAgICAgY2FzZSBIUEVUX1RuX0NGRygxKToKICAgICBjYXNlIEhQ RVRfVG5fQ0ZHKDIpOgotICAgICAgICB0biA9IEhQRVRfVE4oQ0ZHLCBhZGRyKTsKKyAgICAgICAg dG4gPSBhcnJheV9pbmRleF9ub3NwZWMoSFBFVF9UTihDRkcsIGFkZHIpLCBBUlJBWV9TSVpFKGgt PmhwZXQudGltZXJzKSk7CiAKICAgICAgICAgaC0+aHBldC50aW1lcnNbdG5dLmNvbmZpZyA9CiAg ICAgICAgICAgICBocGV0X2ZpeHVwX3JlZyhuZXdfdmFsLCBvbGRfdmFsLApAQCAtNDgwLDcgKzQ4 Myw3IEBAIHN0YXRpYyBpbnQgaHBldF93cml0ZSgKICAgICBjYXNlIEhQRVRfVG5fQ01QKDApOgog ICAgIGNhc2UgSFBFVF9Ubl9DTVAoMSk6CiAgICAgY2FzZSBIUEVUX1RuX0NNUCgyKToKLSAgICAg ICAgdG4gPSBIUEVUX1ROKENNUCwgYWRkcik7CisgICAgICAgIHRuID0gYXJyYXlfaW5kZXhfbm9z cGVjKEhQRVRfVE4oQ01QLCBhZGRyKSwgQVJSQVlfU0laRShoLT5ocGV0LnRpbWVycykpOwogICAg ICAgICBpZiAoIHRpbWVyX2lzX3BlcmlvZGljKGgsIHRuKSAmJgogICAgICAgICAgICAgICEoaC0+ aHBldC50aW1lcnNbdG5dLmNvbmZpZyAmIEhQRVRfVE5fU0VUVkFMKSApCiAgICAgICAgIHsKQEAg LTUyMyw3ICs1MjYsNyBAQCBzdGF0aWMgaW50IGhwZXRfd3JpdGUoCiAgICAgY2FzZSBIUEVUX1Ru X1JPVVRFKDApOgogICAgIGNhc2UgSFBFVF9Ubl9ST1VURSgxKToKICAgICBjYXNlIEhQRVRfVG5f Uk9VVEUoMik6Ci0gICAgICAgIHRuID0gSFBFVF9UTihST1VURSwgYWRkcik7CisgICAgICAgIHRu ID0gYXJyYXlfaW5kZXhfbm9zcGVjKEhQRVRfVE4oUk9VVEUsIGFkZHIpLCBBUlJBWV9TSVpFKGgt PmhwZXQudGltZXJzKSk7CiAgICAgICAgIGgtPmhwZXQudGltZXJzW3RuXS5mc2IgPSBuZXdfdmFs OwogICAgICAgICBicmVhazsKIAotLSAKMi43LjQKCgoKCkFtYXpvbiBEZXZlbG9wbWVudCBDZW50 ZXIgR2VybWFueSBHbWJICktyYXVzZW5zdHIuIDM4CjEwMTE3IEJlcmxpbgpHZXNjaGFlZnRzZnVl aHJlcjogQ2hyaXN0aWFuIFNjaGxhZWdlciwgUmFsZiBIZXJicmljaApVc3QtSUQ6IERFIDI4OSAy MzcgODc5CkVpbmdldHJhZ2VuIGFtIEFtdHNnZXJpY2h0IENoYXJsb3R0ZW5idXJnIEhSQiAxNDkx NzMgQgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs