From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 4/6] x86/xstate: Fix latent bugs in expand_xsave_states() Date: Mon, 12 Sep 2016 10:51:38 +0100 Message-ID: <1473673900-8585-5-git-send-email-andrew.cooper3@citrix.com> References: <1473673900-8585-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1473673900-8585-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org V2l0aG91dCBjaGVja2luZyB0aGUgc2l6ZSBpbnB1dCwgdGhlIG1lbWNweSgpIGZvciB0aGUgdW5j b21wcmVzc2VkIHBhdGggbWlnaHQKcmVhZCBvZmYgdGhlIGVuZCBvZiB0aGUgdmNwdSdzIHhzYXZl X2FyZWEuICBCb3RoIGNhbGxlcnMgcGFzcyB0aGUgYXBwcm9wcml0ZQpzaXplLCBzbyBob2xkIHRo ZW0gdG8gaXQgd2l0aCBhIEJVR19PTigpLgoKVGhlIGNvbXByZXNzZWQgcGF0aCBpcyBjdXJyZW50 bHkgZGVhZCBjb2RlLCBidXQgaXRzIGF0dGVtcHQgdG8gYXZvaWQgbGVha2luZwp1bmluaXRhbGlz ZWQgZGF0YSB3YXMgaW5jb21wbGV0ZS4gIFRoZSBjdXJyZW50IHhzdGF0ZV9idiB3aWxsIGJlIGxl c3MgdGhhbgp4Y3IwX2FjY3VtIGlmIHNvbWUgYml0cyBvZiB4c2F2ZSBzdGF0ZSBhcmUgaW4gdGhl aXIgZGVmYXVsdCB2YWx1ZXMuICBXb3JrCmFyb3VuZCB0aGlzIGJ5IHplcm9pbmcgdGhlIHdob2xl IHJlc3Qgb2YgdGhlIGJ1ZmZlciBiZWZvcmUgZGVjb21wcmVzc2lvbi4KClNpZ25lZC1vZmYtYnk6 IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJl dWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni94c3RhdGUuYyB8IDIx ICsrKysrKysrKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyks IDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3hzdGF0ZS5jIGIveGVu L2FyY2gveDg2L3hzdGF0ZS5jCmluZGV4IDZlNGEwZDMuLjE5NzNiYTAgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni94c3RhdGUuYworKysgYi94ZW4vYXJjaC94ODYveHN0YXRlLmMKQEAgLTE2OSw2 ICsxNjksMTcgQEAgc3RhdGljIHZvaWQgKmdldF94c2F2ZV9hZGRyKHN0cnVjdCB4c2F2ZV9zdHJ1 Y3QgKnhzYXZlLAogICAgICAgICAgICAodm9pZCAqKXhzYXZlICsgY29tcF9vZmZzZXRzW3hmZWF0 dXJlX2lkeF0gOiBOVUxMOwogfQogCisvKgorICogU2VyaWFsaXNlIGEgdmNwdXMgeHNhdmUgc3Rh dGUgaW50byBhIHJlcHJlc2VudGF0aW9uIHN1aXRhYmxlIGZvciB0aGUKKyAqIHRvb2xzdGFjay4K KyAqCisgKiBJbnRlcm5hbGx5IGEgdmNwdXMgeHNhdmUgc3RhdGUgbWF5IGJlIGNvbXByZXNzZWQg b3IgdW5jb21wcmVzc2VkLCBkZXBlbmRpbmcKKyAqIG9uIHRoZSBmZWF0dXJlcyBpbiB1c2UsIGJ1 dCB0aGUgQUJJIHdpdGggdGhlIHRvb2xzdGFjayBpcyBzdHJpY3RseQorICogdW5jb21wcmVzc2Vk LgorICoKKyAqIEl0IGlzIHRoZSBjYWxsZXJzIHJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSB0aGF0 IHRoZXJlIGlzIHhzYXZlIHN0YXRlIHRvCisgKiBzZXJpYWxpc2UsIGFuZCB0aGF0IHRoZSBwcm92 aWRlZCBidWZmZXIgaXMgZXhhY3RseSB0aGUgcmlnaHQgc2l6ZS4KKyAqLwogdm9pZCBleHBhbmRf eHNhdmVfc3RhdGVzKHN0cnVjdCB2Y3B1ICp2LCB2b2lkICpkZXN0LCB1bnNpZ25lZCBpbnQgc2l6 ZSkKIHsKICAgICBzdHJ1Y3QgeHNhdmVfc3RydWN0ICp4c2F2ZSA9IHYtPmFyY2gueHNhdmVfYXJl YTsKQEAgLTE3Niw2ICsxODcsMTEgQEAgdm9pZCBleHBhbmRfeHNhdmVfc3RhdGVzKHN0cnVjdCB2 Y3B1ICp2LCB2b2lkICpkZXN0LCB1bnNpZ25lZCBpbnQgc2l6ZSkKICAgICB1NjQgeHN0YXRlX2J2 ID0geHNhdmUtPnhzYXZlX2hkci54c3RhdGVfYnY7CiAgICAgdTY0IHZhbGlkOwogCisgICAgLyog Q2hlY2sgdGhlcmUgaXMgc3RhdGUgdG8gc2VyaWFsaXNlIChpLmUuIGF0IGxlYXN0IGFuIFhTQVZF X0hEUikgKi8KKyAgICBCVUdfT04oIXYtPmFyY2gueGNyMF9hY2N1bSk7CisgICAgLyogQ2hlY2sg dGhlcmUgaXMgdGhlIGNvcnJlY3Qgcm9vbSB0byBkZWNvbXByZXNzIGludG8uICovCisgICAgQlVH X09OKHNpemUgIT0geHN0YXRlX2N0eHRfc2l6ZSh2LT5hcmNoLnhjcjBfYWNjdW0pKTsKKwogICAg IGlmICggISh4c2F2ZS0+eHNhdmVfaGRyLnhjb21wX2J2ICYgWFNUQVRFX0NPTVBBQ1RJT05fRU5B QkxFRCkgKQogICAgIHsKICAgICAgICAgbWVtY3B5KGRlc3QsIHhzYXZlLCBzaXplKTsKQEAgLTE4 OSw2ICsyMDUsNyBAQCB2b2lkIGV4cGFuZF94c2F2ZV9zdGF0ZXMoc3RydWN0IHZjcHUgKnYsIHZv aWQgKmRlc3QsIHVuc2lnbmVkIGludCBzaXplKQogICAgICAqIENvcHkgbGVnYWN5IFhTQVZFIGFy ZWEgYW5kIFhTQVZFIGhkciBhcmVhLgogICAgICAqLwogICAgIG1lbWNweShkZXN0LCB4c2F2ZSwg WFNUQVRFX0FSRUFfTUlOX1NJWkUpOworICAgIG1lbXNldChkZXN0ICsgWFNUQVRFX0FSRUFfTUlO X1NJWkUsIDAsIHNpemUgLSBYU1RBVEVfQVJFQV9NSU5fU0laRSk7CiAKICAgICAoKHN0cnVjdCB4 c2F2ZV9zdHJ1Y3QgKilkZXN0KS0+eHNhdmVfaGRyLnhjb21wX2J2ID0gIDA7CiAKQEAgLTIwNSwx MSArMjIyLDkgQEAgdm9pZCBleHBhbmRfeHNhdmVfc3RhdGVzKHN0cnVjdCB2Y3B1ICp2LCB2b2lk ICpkZXN0LCB1bnNpZ25lZCBpbnQgc2l6ZSkKIAogICAgICAgICBpZiAoIHNyYyApCiAgICAgICAg IHsKLSAgICAgICAgICAgIEFTU0VSVCgoeHN0YXRlX29mZnNldHNbaW5kZXhdICsgeHN0YXRlX3Np emVzW2luZGV4XSkgPD0gc2l6ZSk7CisgICAgICAgICAgICBCVUdfT04oKHhzdGF0ZV9vZmZzZXRz W2luZGV4XSArIHhzdGF0ZV9zaXplc1tpbmRleF0pIDw9IHNpemUpOwogICAgICAgICAgICAgbWVt Y3B5KGRlc3QgKyB4c3RhdGVfb2Zmc2V0c1tpbmRleF0sIHNyYywgeHN0YXRlX3NpemVzW2luZGV4 XSk7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbWVtc2V0KGRlc3QgKyB4 c3RhdGVfb2Zmc2V0c1tpbmRleF0sIDAsIHhzdGF0ZV9zaXplc1tpbmRleF0pOwogCiAgICAgICAg IHZhbGlkICY9IH5mZWF0dXJlOwogICAgIH0KLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==