From mboxrd@z Thu Jan 1 00:00:00 1970 From: Norbert Manthey Subject: [PATCH SpectreV1+L1TF v6 2/9] x86/vioapic: block speculative out-of-bound accesses Date: Fri, 8 Feb 2019 14:44:42 +0100 Message-ID: <1549633489-12724-3-git-send-email-nmanthey@amazon.de> References: <1c2b8322-1b66-ccc6-9ba9-e86eafb0227a@amazon.de> <1549633489-12724-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 1gs6Ua-0006Gp-Q6 for xen-devel@lists.xenproject.org; Fri, 08 Feb 2019 13:46:56 +0000 In-Reply-To: <1549633489-12724-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: Juergen Gross , Tim Deegan , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Dario Faggioli , Martin Pohlack , Pawel Wieczorkiewicz , Julien Grall , David Woodhouse , Jan Beulich , Martin Mazein , Julian Stecklina , Bjoern Doebel , Norbert Manthey List-Id: xen-devel@lists.xenproject.org V2hlbiBpbnRlcmFjdGluZyB3aXRoIGlvIGFwaWMsIGEgZ3Vlc3QgY2FuIHNwZWNpZnkgdmFsdWVz IHRoYXQgYXJlIHVzZWQKYXMgaW5kZXggdG8gc3RydWN0dXJlcywgYW5kIHdob3NlIHZhbHVlcyBh cmUgbm90IGNvbXBhcmVkIGFnYWluc3QKdXBwZXIgYm91bmRzIHRvIHByZXZlbnQgc3BlY3VsYXRp dmUgb3V0LW9mLWJvdW5kIGFjY2Vzc2VzLiBUaGlzIGNoYW5nZQpwcmV2ZW50cyB0aGVzZSBzcGVj dWxhdGl2ZSBhY2Nlc3Nlcy4KCkZ1cnRoZXJtb3JlLCB2YXJpYWJsZXMgYXJlIGluaXRpYWxpemVk IGFuZCB0aGUgY29tcGlsZXIgaXMgYXNrZWQgdG8gbm90Cm9wdGltaXplZCB0aGVzZSBpbml0aWFs aXphdGlvbnMsIGFzIHRoZSB1bmluaXRpYWxpemVkLCBwb3RlbnRpYWxseSBndWVzdApjb250cm9s bGVkLCB2YXJpYWJsZXMgbWlnaHQgYmUgdXNlZCBpbiBhIHNwZWN1bGF0aXZlIG91dC1vZi1ib3Vu ZCBhY2Nlc3MuCk91dCBvZiB0aGUgZm91ciBpbml0aWFsaXplZCB2YXJpYWJsZXMsIHR3byBhcmUg cG90ZW50aWFsbHkgcHJvYmxlbWF0aWMsCm5hbWVseSBvbmVzIGluIHRoZSBmdW5jdGlvbnMgdmlv YXBpY19pcnFfcG9zaXRpdmVfZWRnZSBhbmQKdmlvYXBpY19nZXRfdHJpZ2dlcl9tb2RlLgoKQXMg dGhlIHR3byBwcm9ibGVtYXRpYyB2YXJpYWJsZXMgYXJlIGJvdGggdXNlZCBpbiB0aGUgY29tbW9u IGZ1bmN0aW9uCmdzaV92aW9hcGljLCB0aGUgbWl0aWdhdGlvbiBpcyBpbXBsZW1lbnRlZCB0aGVy ZS4gQXMgdGhlIGFjY2VzcyBwYXR0ZXJuCm9mIHRoZSBjdXJyZW50bHkgbm9uLWd1ZXN0LWNvbnRy b2xsZWQgZnVuY3Rpb25zIG1pZ2h0IGNoYW5nZSBpbiB0aGUKZnV0dXJlIGFzIHdlbGwsIHRoZSBv dGhlciB2YXJpYWJsZXMgYXJlIGluaXRpYWxpemVkIGFzIHdlbGwuCgpUaGlzIGNvbW1pdCBpcyBw YXJ0IG9mIHRoZSBTcGVjdHJlVjErTDFURiBtaXRpZ2F0aW9uIHBhdGNoIHNlcmllcy4KClNpZ25l ZC1vZmYtYnk6IE5vcmJlcnQgTWFudGhleSA8bm1hbnRoZXlAYW1hem9uLmRlPgoKLS0tCgpOb3Rl czoKICB2NjogRXhwbGFpbiBpbml0aWFsaXphdGlvbiBpbiBjb21taXQgbWVzc2FnZQogICAgICBJ bml0aWFsaXplIHBpbiBpbiBhbGwgNCBmdW5jdGlvbnMgdGhhdCBjYWxsIGdzaV92aW9hcGljCiAg ICAgIEZpeCBzcGFjZSBpbiBjb21tZW50CgogeGVuL2FyY2gveDg2L2h2bS92aW9hcGljLmMgfCAy OCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0 aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3Zp b2FwaWMuYyBiL3hlbi9hcmNoL3g4Ni9odm0vdmlvYXBpYy5jCi0tLSBhL3hlbi9hcmNoL3g4Ni9o dm0vdmlvYXBpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdmlvYXBpYy5jCkBAIC0zMCw2ICsz MCw3IEBACiAjaW5jbHVkZSA8eGVuL2xpYi5oPgogI2luY2x1ZGUgPHhlbi9lcnJuby5oPgogI2lu Y2x1ZGUgPHhlbi9zY2hlZC5oPgorI2luY2x1ZGUgPHhlbi9ub3NwZWMuaD4KICNpbmNsdWRlIDxw dWJsaWMvaHZtL2lvcmVxLmg+CiAjaW5jbHVkZSA8YXNtL2h2bS9pby5oPgogI2luY2x1ZGUgPGFz bS9odm0vdnBpYy5oPgpAQCAtNjYsNiArNjcsMTIgQEAgc3RhdGljIHN0cnVjdCBodm1fdmlvYXBp YyAqZ3NpX3Zpb2FwaWMoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwKIHsKICAgICB1bnNpZ25lZCBp bnQgaTsKIAorICAgIC8qCisgICAgICogTWFrZSBzdXJlIHRoZSBjb21waWxlciBkb2VzIG5vdCBv cHRpbWl6ZSBhd2F5IHRoZSBpbml0aWFsaXphdGlvbiBkb25lIGJ5CisgICAgICogY2FsbGVycwor ICAgICAqLworICAgIE9QVElNSVpFUl9ISURFX1ZBUigqcGluKTsKKwogICAgIGZvciAoIGkgPSAw OyBpIDwgZC0+YXJjaC5odm0ubnJfdmlvYXBpY3M7IGkrKyApCiAgICAgewogICAgICAgICBzdHJ1 Y3QgaHZtX3Zpb2FwaWMgKnZpb2FwaWMgPSBkb21haW5fdmlvYXBpYyhkLCBpKTsKQEAgLTExNyw3 ICsxMjQsOCBAQCBzdGF0aWMgdWludDMyX3QgdmlvYXBpY19yZWFkX2luZGlyZWN0KGNvbnN0IHN0 cnVjdCBodm1fdmlvYXBpYyAqdmlvYXBpYykKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9 CiAKLSAgICAgICAgcmVkaXJfY29udGVudCA9IHZpb2FwaWMtPnJlZGlydGJsW3JlZGlyX2luZGV4 XS5iaXRzOworICAgICAgICByZWRpcl9jb250ZW50ID0gdmlvYXBpYy0+cmVkaXJ0YmxbYXJyYXlf aW5kZXhfbm9zcGVjKHJlZGlyX2luZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHZpb2FwaWMtPm5yX3BpbnMpXS5iaXRzOwogICAgICAg ICByZXN1bHQgPSAodmlvYXBpYy0+aW9yZWdzZWwgJiAxKSA/IChyZWRpcl9jb250ZW50ID4+IDMy KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlZGlyX2NvbnRl bnQ7CiAgICAgICAgIGJyZWFrOwpAQCAtMjEyLDcgKzIyMCwxNSBAQCBzdGF0aWMgdm9pZCB2aW9h cGljX3dyaXRlX3JlZGlyZW50KAogICAgIHN0cnVjdCBodm1faXJxICpodm1faXJxID0gaHZtX2Rv bWFpbl9pcnEoZCk7CiAgICAgdW5pb24gdmlvYXBpY19yZWRpcl9lbnRyeSAqcGVudCwgZW50Owog ICAgIGludCB1bm1hc2tlZCA9IDA7Ci0gICAgdW5zaWduZWQgaW50IGdzaSA9IHZpb2FwaWMtPmJh c2VfZ3NpICsgaWR4OworICAgIHVuc2lnbmVkIGludCBnc2k7CisKKyAgICAvKiBDYWxsZXJzIG9m IHRoaXMgZnVuY3Rpb24gc2hvdWxkIG1ha2Ugc3VyZSBpZHggaXMgYm91bmRlZCBhcHByb3ByaWF0 ZWx5ICovCisgICAgQVNTRVJUKGlkeCA8IHZpb2FwaWMtPm5yX3BpbnMpOworCisgICAgLyogTWFr ZSBzdXJlIG5vIG91dC1vZi1ib3VuZCB2YWx1ZSBmb3IgaWR4IGNhbiBiZSB1c2VkICovCisgICAg aWR4ID0gYXJyYXlfaW5kZXhfbm9zcGVjKGlkeCwgdmlvYXBpYy0+bnJfcGlucyk7CisKKyAgICBn c2kgPSB2aW9hcGljLT5iYXNlX2dzaSArIGlkeDsKIAogICAgIHNwaW5fbG9jaygmZC0+YXJjaC5o dm0uaXJxX2xvY2spOwogCkBAIC00NjcsNyArNDgzLDcgQEAgc3RhdGljIHZvaWQgdmlvYXBpY19k ZWxpdmVyKHN0cnVjdCBodm1fdmlvYXBpYyAqdmlvYXBpYywgdW5zaWduZWQgaW50IHBpbikKIAog dm9pZCB2aW9hcGljX2lycV9wb3NpdGl2ZV9lZGdlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVk IGludCBpcnEpCiB7Ci0gICAgdW5zaWduZWQgaW50IHBpbjsKKyAgICB1bnNpZ25lZCBpbnQgcGlu ID0gMDsgLyogU2VlIGdzaV92aW9hcGljICovCiAgICAgc3RydWN0IGh2bV92aW9hcGljICp2aW9h cGljID0gZ3NpX3Zpb2FwaWMoZCwgaXJxLCAmcGluKTsKICAgICB1bmlvbiB2aW9hcGljX3JlZGly X2VudHJ5ICplbnQ7CiAKQEAgLTU0Miw3ICs1NTgsNyBAQCB2b2lkIHZpb2FwaWNfdXBkYXRlX0VP SShzdHJ1Y3QgZG9tYWluICpkLCB1OCB2ZWN0b3IpCiAKIGludCB2aW9hcGljX2dldF9tYXNrKGNv bnN0IHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBnc2kpCiB7Ci0gICAgdW5zaWduZWQg aW50IHBpbjsKKyAgICB1bnNpZ25lZCBpbnQgcGluID0gMDsgLyogU2VlIGdzaV92aW9hcGljICov CiAgICAgY29uc3Qgc3RydWN0IGh2bV92aW9hcGljICp2aW9hcGljID0gZ3NpX3Zpb2FwaWMoZCwg Z3NpLCAmcGluKTsKIAogICAgIGlmICggIXZpb2FwaWMgKQpAQCAtNTUzLDcgKzU2OSw3IEBAIGlu dCB2aW9hcGljX2dldF9tYXNrKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBn c2kpCiAKIGludCB2aW9hcGljX2dldF92ZWN0b3IoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgaW50IGdzaSkKIHsKLSAgICB1bnNpZ25lZCBpbnQgcGluOworICAgIHVuc2lnbmVkIGlu dCBwaW4gPSAwOyAvKiBTZWUgZ3NpX3Zpb2FwaWMgKi8KICAgICBjb25zdCBzdHJ1Y3QgaHZtX3Zp b2FwaWMgKnZpb2FwaWMgPSBnc2lfdmlvYXBpYyhkLCBnc2ksICZwaW4pOwogCiAgICAgaWYgKCAh dmlvYXBpYyApCkBAIC01NjQsNyArNTgwLDcgQEAgaW50IHZpb2FwaWNfZ2V0X3ZlY3Rvcihjb25z dCBzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgZ3NpKQogCiBpbnQgdmlvYXBpY19nZXRf dHJpZ2dlcl9tb2RlKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBnc2kpCiB7 Ci0gICAgdW5zaWduZWQgaW50IHBpbjsKKyAgICB1bnNpZ25lZCBpbnQgcGluID0gMDsgLyogU2Vl IGdzaV92aW9hcGljICovCiAgICAgY29uc3Qgc3RydWN0IGh2bV92aW9hcGljICp2aW9hcGljID0g Z3NpX3Zpb2FwaWMoZCwgZ3NpLCAmcGluKTsKIAogICAgIGlmICggIXZpb2FwaWMgKQotLSAKMi43 LjQKCgoKCkFtYXpvbiBEZXZlbG9wbWVudCBDZW50ZXIgR2VybWFueSBHbWJICktyYXVzZW5zdHIu IDM4CjEwMTE3IEJlcmxpbgpHZXNjaGFlZnRzZnVlaHJlcjogQ2hyaXN0aWFuIFNjaGxhZWdlciwg UmFsZiBIZXJicmljaApVc3QtSUQ6IERFIDI4OSAyMzcgODc5CkVpbmdldHJhZ2VuIGFtIEFtdHNn ZXJpY2h0IENoYXJsb3R0ZW5idXJnIEhSQiAxNDkxNzMgQgoKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h aWxtYW4vbGlzdGluZm8veGVuLWRldmVs