From mboxrd@z Thu Jan 1 00:00:00 1970 From: Norbert Manthey Subject: [PATCH SpectreV1+L1TF v4 09/11] x86/vioapic: block speculative out-of-bound accesses Date: Wed, 23 Jan 2019 12:57:33 +0100 Message-ID: <1548244655-32180-9-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 us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gmHAV-0002u2-Hk for xen-devel@lists.xenproject.org; Wed, 23 Jan 2019 11:58:07 +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 V2hlbiBpbnRlcmFjdGluZyB3aXRoIGlvIGFwaWMsIGEgZ3Vlc3QgY2FuIHNwZWNpZnkgdmFsdWVz IHRoYXQgYXJlIHVzZWQKYXMgaW5kZXggdG8gc3RydWN0dXJlcywgYW5kIHdob3NlIHZhbHVlcyBh cmUgbm90IGNvbXBhcmVkIGFnYWluc3QKdXBwZXIgYm91bmRzIHRvIHByZXZlbnQgc3BlY3VsYXRp dmUgb3V0LW9mLWJvdW5kIGFjY2Vzc2VzLiBUaGlzIGNoYW5nZQpwcmV2ZW50cyB0aGVzZSBzcGVj dWxhdGl2ZSBhY2Nlc3Nlcy4KClRoaXMgY29tbWl0IGlzIHBhcnQgb2YgdGhlIFNwZWN0cmVWMStM MVRGIG1pdGlnYXRpb24gcGF0Y2ggc2VyaWVzLgoKU2lnbmVkLW9mZi1ieTogTm9yYmVydCBNYW50 aGV5IDxubWFudGhleUBhbWF6b24uZGU+CgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vdmlvYXBpYy5j IHwgMjEgKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9u cygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3Zpb2Fw aWMuYyBiL3hlbi9hcmNoL3g4Ni9odm0vdmlvYXBpYy5jCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0v dmlvYXBpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdmlvYXBpYy5jCkBAIC0zMCw2ICszMCw3 IEBACiAjaW5jbHVkZSA8eGVuL2xpYi5oPgogI2luY2x1ZGUgPHhlbi9lcnJuby5oPgogI2luY2x1 ZGUgPHhlbi9zY2hlZC5oPgorI2luY2x1ZGUgPHhlbi9ub3NwZWMuaD4KICNpbmNsdWRlIDxwdWJs aWMvaHZtL2lvcmVxLmg+CiAjaW5jbHVkZSA8YXNtL2h2bS9pby5oPgogI2luY2x1ZGUgPGFzbS9o dm0vdnBpYy5oPgpAQCAtNjYsNiArNjcsOSBAQCBzdGF0aWMgc3RydWN0IGh2bV92aW9hcGljICpn c2lfdmlvYXBpYyhjb25zdCBzdHJ1Y3QgZG9tYWluICpkLAogewogICAgIHVuc2lnbmVkIGludCBp OwogCisgICAgLyogTWFrZSBzdXJlIHRoZSBjb21waWxlciBkb2VzIG5vdCBvcHRpbWl6ZSB0aGUg aW5pdGlhbGl6YXRpb24gKi8KKyAgICBPUFRJTUlaRVJfSElERV9WQVIocGluKTsKKwogICAgIGZv ciAoIGkgPSAwOyBpIDwgZC0+YXJjaC5odm0ubnJfdmlvYXBpY3M7IGkrKyApCiAgICAgewogICAg ICAgICBzdHJ1Y3QgaHZtX3Zpb2FwaWMgKnZpb2FwaWMgPSBkb21haW5fdmlvYXBpYyhkLCBpKTsK QEAgLTExNyw3ICsxMjEsOCBAQCBzdGF0aWMgdWludDMyX3QgdmlvYXBpY19yZWFkX2luZGlyZWN0 KGNvbnN0IHN0cnVjdCBodm1fdmlvYXBpYyAqdmlvYXBpYykKICAgICAgICAgICAgIGJyZWFrOwog ICAgICAgICB9CiAKLSAgICAgICAgcmVkaXJfY29udGVudCA9IHZpb2FwaWMtPnJlZGlydGJsW3Jl ZGlyX2luZGV4XS5iaXRzOworICAgICAgICByZWRpcl9jb250ZW50ID0gdmlvYXBpYy0+cmVkaXJ0 YmxbYXJyYXlfaW5kZXhfbm9zcGVjKHJlZGlyX2luZGV4LAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpb2FwaWMtPm5yX3BpbnMpXS5iaXRz OwogICAgICAgICByZXN1bHQgPSAodmlvYXBpYy0+aW9yZWdzZWwgJiAxKSA/IChyZWRpcl9jb250 ZW50ID4+IDMyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJl ZGlyX2NvbnRlbnQ7CiAgICAgICAgIGJyZWFrOwpAQCAtMjEyLDcgKzIxNywxMiBAQCBzdGF0aWMg dm9pZCB2aW9hcGljX3dyaXRlX3JlZGlyZW50KAogICAgIHN0cnVjdCBodm1faXJxICpodm1faXJx ID0gaHZtX2RvbWFpbl9pcnEoZCk7CiAgICAgdW5pb24gdmlvYXBpY19yZWRpcl9lbnRyeSAqcGVu dCwgZW50OwogICAgIGludCB1bm1hc2tlZCA9IDA7Ci0gICAgdW5zaWduZWQgaW50IGdzaSA9IHZp b2FwaWMtPmJhc2VfZ3NpICsgaWR4OworICAgIHVuc2lnbmVkIGludCBnc2k7CisKKyAgICAvKiBN YWtlIHN1cmUgbm8gb3V0LW9mLWJvdW5kIHZhbHVlIGZvciBpZHggY2FuIGJlIHVzZWQgKi8KKyAg ICBpZHggPSBhcnJheV9pbmRleF9ub3NwZWMoaWR4LCB2aW9hcGljLT5ucl9waW5zKTsKKworICAg IGdzaSA9IHZpb2FwaWMtPmJhc2VfZ3NpICsgaWR4OwogCiAgICAgc3Bpbl9sb2NrKCZkLT5hcmNo Lmh2bS5pcnFfbG9jayk7CiAKQEAgLTM3OCw3ICszODgsOCBAQCBzdGF0aWMgaW5saW5lIGludCBw aXRfY2hhbm5lbDBfZW5hYmxlZCh2b2lkKQogCiBzdGF0aWMgdm9pZCB2aW9hcGljX2RlbGl2ZXIo c3RydWN0IGh2bV92aW9hcGljICp2aW9hcGljLCB1bnNpZ25lZCBpbnQgcGluKQogewotICAgIHVp bnQxNl90IGRlc3QgPSB2aW9hcGljLT5yZWRpcnRibFtwaW5dLmZpZWxkcy5kZXN0X2lkOworICAg IHVpbnQxNl90IGRlc3QgPSB2aW9hcGljLT5yZWRpcnRibAorICAgICAgICAgICAgICAgW3BpbiA9 IGFycmF5X2luZGV4X25vc3BlYyhwaW4sIHZpb2FwaWMtPm5yX3BpbnMpXS5maWVsZHMuZGVzdF9p ZDsKICAgICB1aW50OF90IGRlc3RfbW9kZSA9IHZpb2FwaWMtPnJlZGlydGJsW3Bpbl0uZmllbGRz LmRlc3RfbW9kZTsKICAgICB1aW50OF90IGRlbGl2ZXJ5X21vZGUgPSB2aW9hcGljLT5yZWRpcnRi bFtwaW5dLmZpZWxkcy5kZWxpdmVyeV9tb2RlOwogICAgIHVpbnQ4X3QgdmVjdG9yID0gdmlvYXBp Yy0+cmVkaXJ0YmxbcGluXS5maWVsZHMudmVjdG9yOwpAQCAtNDYzLDcgKzQ3NCw3IEBAIHN0YXRp YyB2b2lkIHZpb2FwaWNfZGVsaXZlcihzdHJ1Y3QgaHZtX3Zpb2FwaWMgKnZpb2FwaWMsIHVuc2ln bmVkIGludCBwaW4pCiAKIHZvaWQgdmlvYXBpY19pcnFfcG9zaXRpdmVfZWRnZShzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBpbnQgaXJxKQogewotICAgIHVuc2lnbmVkIGludCBwaW47CisgICAg dW5zaWduZWQgaW50IHBpbiA9IDA7IC8qIFNlZSBnc2lfdmlvYXBpYyAqLwogICAgIHN0cnVjdCBo dm1fdmlvYXBpYyAqdmlvYXBpYyA9IGdzaV92aW9hcGljKGQsIGlycSwgJnBpbik7CiAgICAgdW5p b24gdmlvYXBpY19yZWRpcl9lbnRyeSAqZW50OwogCkBAIC01NjAsNyArNTcxLDcgQEAgaW50IHZp b2FwaWNfZ2V0X3ZlY3Rvcihjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgZ3Np KQogCiBpbnQgdmlvYXBpY19nZXRfdHJpZ2dlcl9tb2RlKGNvbnN0IHN0cnVjdCBkb21haW4gKmQs IHVuc2lnbmVkIGludCBnc2kpCiB7Ci0gICAgdW5zaWduZWQgaW50IHBpbjsKKyAgICB1bnNpZ25l ZCBpbnQgcGluID0gMDsgLyogU2VlIGdzaV92aW9hcGljICovCiAgICAgY29uc3Qgc3RydWN0IGh2 bV92aW9hcGljICp2aW9hcGljID0gZ3NpX3Zpb2FwaWMoZCwgZ3NpLCAmcGluKTsKIAogICAgIGlm ICggIXZpb2FwaWMgKQotLSAKMi43LjQKCgoKCkFtYXpvbiBEZXZlbG9wbWVudCBDZW50ZXIgR2Vy bWFueSBHbWJICktyYXVzZW5zdHIuIDM4CjEwMTE3IEJlcmxpbgpHZXNjaGFlZnRzZnVlaHJlcjog Q2hyaXN0aWFuIFNjaGxhZWdlciwgUmFsZiBIZXJicmljaApVc3QtSUQ6IERFIDI4OSAyMzcgODc5 CkVpbmdldHJhZ2VuIGFtIEFtdHNnZXJpY2h0IENoYXJsb3R0ZW5idXJnIEhSQiAxNDkxNzMgQgoK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs