From mboxrd@z Thu Jan 1 00:00:00 1970 From: Norbert Manthey Subject: [PATCH SpectreV1+L1TF v5 2/9] x86/vioapic: block speculative out-of-bound accesses Date: Tue, 29 Jan 2019 15:43:10 +0100 Message-ID: <1548772997-32742-3-git-send-email-nmanthey@amazon.de> References: <1548772997-32742-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 1goUcj-0001gf-1E for xen-devel@lists.xenproject.org; Tue, 29 Jan 2019 14:44:25 +0000 In-Reply-To: <1548772997-32742-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 , 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 dWxhdGl2ZSBhY2Nlc3Nlcy4KCkZ1cnRoZXJtb3JlLCB0d28gdmFyaWFibGVzIGFyZSBpbml0aWFs aXplZCBhbmQgdGhlIGNvbXBpbGVyIGlzIGFza2VkIHRvCm5vdCBvcHRpbWl6ZWQgdGhlc2UgaW5p dGlhbGl6YXRpb25zLCBhcyB0aGUgdW5pbml0aWFsaXplZCwgcG90ZW50aWFsbHkKZ3Vlc3QgY29u dHJvbGxlZCwgdmFyaWFibGVzIG1pZ2h0IGJlIHVzZWQgaW4gYSBzcGVjdWxhdGl2ZSBvdXQtb2Yt Ym91bmQKYWNjZXNzLiBBcyB0aGUgdHdvIHByb2JsZW1hdGljIHZhcmlhYmxlcyBhcmUgYm90aCB1 c2VkIGluIHRoZSBjb21tb24KZnVuY3Rpb24gZ3NpX3Zpb2FwaWMsIHRoZSBtaXRpZ2F0aW9uIGlz IGltcGxlbWVudGVkIHRoZXJlLiBDdXJyZW50bHksCnRoZSBwcm9ibGVtYXRpYyBjYWxsZXJzIGFy ZSB0aGUgZnVuY3Rpb25zIHZpb2FwaWNfaXJxX3Bvc2l0aXZlX2VkZ2UgYW5kCnZpb2FwaWNfZ2V0 X3RyaWdnZXJfbW9kZS4KClRoaXMgY29tbWl0IGlzIHBhcnQgb2YgdGhlIFNwZWN0cmVWMStMMVRG IG1pdGlnYXRpb24gcGF0Y2ggc2VyaWVzLgoKU2lnbmVkLW9mZi1ieTogTm9yYmVydCBNYW50aGV5 IDxubWFudGhleUBhbWF6b24uZGU+CgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vdmlvYXBpYy5jIHwg MjQgKysrKysrKysrKysrKysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3Zpb2Fw aWMuYyBiL3hlbi9hcmNoL3g4Ni9odm0vdmlvYXBpYy5jCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0v dmlvYXBpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdmlvYXBpYy5jCkBAIC0zMCw2ICszMCw3 IEBACiAjaW5jbHVkZSA8eGVuL2xpYi5oPgogI2luY2x1ZGUgPHhlbi9lcnJuby5oPgogI2luY2x1 ZGUgPHhlbi9zY2hlZC5oPgorI2luY2x1ZGUgPHhlbi9ub3NwZWMuaD4KICNpbmNsdWRlIDxwdWJs aWMvaHZtL2lvcmVxLmg+CiAjaW5jbHVkZSA8YXNtL2h2bS9pby5oPgogI2luY2x1ZGUgPGFzbS9o dm0vdnBpYy5oPgpAQCAtNjYsNiArNjcsMTIgQEAgc3RhdGljIHN0cnVjdCBodm1fdmlvYXBpYyAq Z3NpX3Zpb2FwaWMoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwKIHsKICAgICB1bnNpZ25lZCBpbnQg aTsKIAorICAgIC8qCisgICAgICogTWFrZSBzdXJlIHRoZSBjb21waWxlciBkb2VzIG5vdCBvcHRp bWl6ZSBhd2F5IHRoZSBpbml0aWFsaXphdGlvbiBkb25lIGJ5CisgICAgICogY2FsbGVycworICAg ICAqLworICAgIE9QVElNSVpFUl9ISURFX1ZBUigqcGluKTsKKwogICAgIGZvciAoIGkgPSAwOyBp IDwgZC0+YXJjaC5odm0ubnJfdmlvYXBpY3M7IGkrKyApCiAgICAgewogICAgICAgICBzdHJ1Y3Qg aHZtX3Zpb2FwaWMgKnZpb2FwaWMgPSBkb21haW5fdmlvYXBpYyhkLCBpKTsKQEAgLTExNyw3ICsx MjQsOCBAQCBzdGF0aWMgdWludDMyX3QgdmlvYXBpY19yZWFkX2luZGlyZWN0KGNvbnN0IHN0cnVj dCBodm1fdmlvYXBpYyAqdmlvYXBpYykKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAK LSAgICAgICAgcmVkaXJfY29udGVudCA9IHZpb2FwaWMtPnJlZGlydGJsW3JlZGlyX2luZGV4XS5i aXRzOworICAgICAgICByZWRpcl9jb250ZW50ID0gdmlvYXBpYy0+cmVkaXJ0YmxbYXJyYXlfaW5k ZXhfbm9zcGVjKHJlZGlyX2luZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHZpb2FwaWMtPm5yX3BpbnMpXS5iaXRzOwogICAgICAgICBy ZXN1bHQgPSAodmlvYXBpYy0+aW9yZWdzZWwgJiAxKSA/IChyZWRpcl9jb250ZW50ID4+IDMyKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlZGlyX2NvbnRlbnQ7 CiAgICAgICAgIGJyZWFrOwpAQCAtMjEyLDcgKzIyMCwxNSBAQCBzdGF0aWMgdm9pZCB2aW9hcGlj X3dyaXRlX3JlZGlyZW50KAogICAgIHN0cnVjdCBodm1faXJxICpodm1faXJxID0gaHZtX2RvbWFp bl9pcnEoZCk7CiAgICAgdW5pb24gdmlvYXBpY19yZWRpcl9lbnRyeSAqcGVudCwgZW50OwogICAg IGludCB1bm1hc2tlZCA9IDA7Ci0gICAgdW5zaWduZWQgaW50IGdzaSA9IHZpb2FwaWMtPmJhc2Vf Z3NpICsgaWR4OworICAgIHVuc2lnbmVkIGludCBnc2k7CisKKyAgICAvKiBDYWxsZXJzIG9mIHRo aXMgZnVuY3Rpb24gc2hvdWxkIG1ha2Ugc3VyZSBpZHggaXMgYm91bmRlZCBhcHByb3ByaWF0ZWx5 Ki8KKyAgICBBU1NFUlQoaWR4IDwgdmlvYXBpYy0+bnJfcGlucyk7CisKKyAgICAvKiBNYWtlIHN1 cmUgbm8gb3V0LW9mLWJvdW5kIHZhbHVlIGZvciBpZHggY2FuIGJlIHVzZWQgKi8KKyAgICBpZHgg PSBhcnJheV9pbmRleF9ub3NwZWMoaWR4LCB2aW9hcGljLT5ucl9waW5zKTsKKworICAgIGdzaSA9 IHZpb2FwaWMtPmJhc2VfZ3NpICsgaWR4OwogCiAgICAgc3Bpbl9sb2NrKCZkLT5hcmNoLmh2bS5p cnFfbG9jayk7CiAKQEAgLTQ2Nyw3ICs0ODMsNyBAQCBzdGF0aWMgdm9pZCB2aW9hcGljX2RlbGl2 ZXIoc3RydWN0IGh2bV92aW9hcGljICp2aW9hcGljLCB1bnNpZ25lZCBpbnQgcGluKQogCiB2b2lk IHZpb2FwaWNfaXJxX3Bvc2l0aXZlX2VkZ2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50 IGlycSkKIHsKLSAgICB1bnNpZ25lZCBpbnQgcGluOworICAgIHVuc2lnbmVkIGludCBwaW4gPSAw OyAvKiBTZWUgZ3NpX3Zpb2FwaWMgKi8KICAgICBzdHJ1Y3QgaHZtX3Zpb2FwaWMgKnZpb2FwaWMg PSBnc2lfdmlvYXBpYyhkLCBpcnEsICZwaW4pOwogICAgIHVuaW9uIHZpb2FwaWNfcmVkaXJfZW50 cnkgKmVudDsKIApAQCAtNTY0LDcgKzU4MCw3IEBAIGludCB2aW9hcGljX2dldF92ZWN0b3IoY29u c3Qgc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGdzaSkKIAogaW50IHZpb2FwaWNfZ2V0 X3RyaWdnZXJfbW9kZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgZ3NpKQog ewotICAgIHVuc2lnbmVkIGludCBwaW47CisgICAgdW5zaWduZWQgaW50IHBpbiA9IDA7IC8qIFNl ZSBnc2lfdmlvYXBpYyAqLwogICAgIGNvbnN0IHN0cnVjdCBodm1fdmlvYXBpYyAqdmlvYXBpYyA9 IGdzaV92aW9hcGljKGQsIGdzaSwgJnBpbik7CiAKICAgICBpZiAoICF2aW9hcGljICkKLS0gCjIu Ny40CgoKCgpBbWF6b24gRGV2ZWxvcG1lbnQgQ2VudGVyIEdlcm1hbnkgR21iSApLcmF1c2Vuc3Ry LiAzOAoxMDExNyBCZXJsaW4KR2VzY2hhZWZ0c2Z1ZWhyZXI6IENocmlzdGlhbiBTY2hsYWVnZXIs IFJhbGYgSGVyYnJpY2gKVXN0LUlEOiBERSAyODkgMjM3IDg3OQpFaW5nZXRyYWdlbiBhbSBBbXRz Z2VyaWNodCBDaGFybG90dGVuYnVyZyBIUkIgMTQ5MTczIEIKCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==