From mboxrd@z Thu Jan 1 00:00:00 1970 From: Norbert Manthey Subject: [PATCH SpectreV1+L1TF v7 2/9] x86/vioapic: block speculative out-of-bound accesses Date: Thu, 21 Feb 2019 09:16:36 +0100 Message-ID: <1550737003-25779-3-git-send-email-nmanthey@amazon.de> References: <1550737003-25779-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 us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gwjYE-0000hz-8t for xen-devel@lists.xenproject.org; Thu, 21 Feb 2019 08:17:50 +0000 In-Reply-To: <1550737003-25779-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 aXphdGlvbnMsIGFzIHRoZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyBtaWdodCBiZQp1c2VkIGlu IGEgc3BlY3VsYXRpdmUgb3V0LW9mLWJvdW5kIGFjY2Vzcy4gT3V0IG9mIHRoZSBmb3VyIGluaXRp YWxpemVkCnZhcmlhYmxlcywgdHdvIGFyZSBwb3RlbnRpYWxseSBwcm9ibGVtYXRpYywgbmFtZWx5 IG9uZXMgaW4gdGhlIGZ1bmN0aW9ucwp2aW9hcGljX2lycV9wb3NpdGl2ZV9lZGdlIGFuZCB2aW9h cGljX2dldF90cmlnZ2VyX21vZGUuCgpBcyB0aGUgdHdvIHByb2JsZW1hdGljIHZhcmlhYmxlcyBh cmUgYm90aCB1c2VkIGluIHRoZSBjb21tb24gZnVuY3Rpb24KZ3NpX3Zpb2FwaWMsIHRoZSBtaXRp Z2F0aW9uIGlzIGltcGxlbWVudGVkIHRoZXJlLiBBcyB0aGUgYWNjZXNzIHBhdHRlcm4Kb2YgdGhl IGN1cnJlbnRseSBub24tZ3Vlc3QtY29udHJvbGxlZCBmdW5jdGlvbnMgbWlnaHQgY2hhbmdlIGlu IHRoZQpmdXR1cmUgYXMgd2VsbCwgdGhlIG90aGVyIHZhcmlhYmxlcyBhcmUgaW5pdGlhbGl6ZWQg YXMgd2VsbC4KClRoaXMgaXMgcGFydCBvZiB0aGUgc3BlY3VsYXRpdmUgaGFyZGVuaW5nIGVmZm9y dC4KClNpZ25lZC1vZmYtYnk6IE5vcmJlcnQgTWFudGhleSA8bm1hbnRoZXlAYW1hem9uLmRlPgoK LS0tCgpOb3RlczoKICB2NzogbWVudGlvbiBzcGVjdWxhdGl2ZSBoYXJkZW5pbmcgaW4gY29tbWl0 IG1lc3NhZ2UKICAgICAgZml4IGNvbW1lbnQgdHlwbwogICAgICBkcm9wICdndWVzdCBjb250cm9s bGVkJyBmcm9tIGNvbW1pdCBtZXNzYWdlCgogeGVuL2FyY2gveDg2L2h2bS92aW9hcGljLmMgfCAy 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 ZSBzdXJlIG5vIG91dC1vZi1ib3VuZHMgdmFsdWUgZm9yIGlkeCBjYW4gYmUgdXNlZCAqLworICAg IGlkeCA9IGFycmF5X2luZGV4X25vc3BlYyhpZHgsIHZpb2FwaWMtPm5yX3BpbnMpOworCisgICAg Z3NpID0gdmlvYXBpYy0+YmFzZV9nc2kgKyBpZHg7CiAKICAgICBzcGluX2xvY2soJmQtPmFyY2gu aHZtLmlycV9sb2NrKTsKIApAQCAtNDY3LDcgKzQ4Myw3IEBAIHN0YXRpYyB2b2lkIHZpb2FwaWNf ZGVsaXZlcihzdHJ1Y3QgaHZtX3Zpb2FwaWMgKnZpb2FwaWMsIHVuc2lnbmVkIGludCBwaW4pCiAK IHZvaWQgdmlvYXBpY19pcnFfcG9zaXRpdmVfZWRnZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l ZCBpbnQgaXJxKQogewotICAgIHVuc2lnbmVkIGludCBwaW47CisgICAgdW5zaWduZWQgaW50IHBp biA9IDA7IC8qIFNlZSBnc2lfdmlvYXBpYyAqLwogICAgIHN0cnVjdCBodm1fdmlvYXBpYyAqdmlv YXBpYyA9IGdzaV92aW9hcGljKGQsIGlycSwgJnBpbik7CiAgICAgdW5pb24gdmlvYXBpY19yZWRp cl9lbnRyeSAqZW50OwogCkBAIC01NDIsNyArNTU4LDcgQEAgdm9pZCB2aW9hcGljX3VwZGF0ZV9F T0koc3RydWN0IGRvbWFpbiAqZCwgdTggdmVjdG9yKQogCiBpbnQgdmlvYXBpY19nZXRfbWFzayhj b25zdCBzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgZ3NpKQogewotICAgIHVuc2lnbmVk IGludCBwaW47CisgICAgdW5zaWduZWQgaW50IHBpbiA9IDA7IC8qIFNlZSBnc2lfdmlvYXBpYyAq LwogICAgIGNvbnN0IHN0cnVjdCBodm1fdmlvYXBpYyAqdmlvYXBpYyA9IGdzaV92aW9hcGljKGQs IGdzaSwgJnBpbik7CiAKICAgICBpZiAoICF2aW9hcGljICkKQEAgLTU1Myw3ICs1NjksNyBAQCBp bnQgdmlvYXBpY19nZXRfbWFzayhjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQg Z3NpKQogCiBpbnQgdmlvYXBpY19nZXRfdmVjdG9yKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGludCBnc2kpCiB7Ci0gICAgdW5zaWduZWQgaW50IHBpbjsKKyAgICB1bnNpZ25lZCBp bnQgcGluID0gMDsgLyogU2VlIGdzaV92aW9hcGljICovCiAgICAgY29uc3Qgc3RydWN0IGh2bV92 aW9hcGljICp2aW9hcGljID0gZ3NpX3Zpb2FwaWMoZCwgZ3NpLCAmcGluKTsKIAogICAgIGlmICgg IXZpb2FwaWMgKQpAQCAtNTY0LDcgKzU4MCw3IEBAIGludCB2aW9hcGljX2dldF92ZWN0b3IoY29u c3Qgc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGdzaSkKIAogaW50IHZpb2FwaWNfZ2V0 X3RyaWdnZXJfbW9kZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgZ3NpKQog ewotICAgIHVuc2lnbmVkIGludCBwaW47CisgICAgdW5zaWduZWQgaW50IHBpbiA9IDA7IC8qIFNl ZSBnc2lfdmlvYXBpYyAqLwogICAgIGNvbnN0IHN0cnVjdCBodm1fdmlvYXBpYyAqdmlvYXBpYyA9 IGdzaV92aW9hcGljKGQsIGdzaSwgJnBpbik7CiAKICAgICBpZiAoICF2aW9hcGljICkKLS0gCjIu Ny40CgoKCgpBbWF6b24gRGV2ZWxvcG1lbnQgQ2VudGVyIEdlcm1hbnkgR21iSApLcmF1c2Vuc3Ry LiAzOAoxMDExNyBCZXJsaW4KR2VzY2hhZWZ0c2Z1ZWhyZXI6IENocmlzdGlhbiBTY2hsYWVnZXIs IFJhbGYgSGVyYnJpY2gKVXN0LUlEOiBERSAyODkgMjM3IDg3OQpFaW5nZXRyYWdlbiBhbSBBbXRz Z2VyaWNodCBDaGFybG90dGVuYnVyZyBIUkIgMTQ5MTczIEIKCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==