From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 3/4] x86/hvm: Move hvm_funcs.cpuid_intercept() handling into hvm_cpuid() Date: Mon, 5 Dec 2016 18:24:39 +0000 Message-ID: <1480962280-29787-4-git-send-email-andrew.cooper3@citrix.com> References: <1480962280-29787-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: <1480962280-29787-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: Kevin Tian , Jan Beulich , Andrew Cooper , Jun Nakajima , Boris Ostrovsky , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org VGhpcyByZWR1Y2VzIHRoZSBuZXQgY29tcGxleGl0eSBvZiBDUFVJRCBoYW5kbGluZyBieSBoYXZp bmcgYWxsIGFkanVzdG1lbnRzIGluCmF0IHRoZSBzYW1lIHBsYWNlLiAgUmVtb3ZlIHRoZSBub3ct dW51c2VkIGh2bV9mdW5jcy5jcHVpZF9pbnRlcmNlcHQKaW5mcmFzdHJ1Y3R1cmUuCgpUaGUgU1lT Q0FMTCBmZWF0dXJlIGhpZGluZyBpcyB0d2Vha2VkIHdoZW4gbW92ZWQuICBJbiBwcmluY2lwbGUs IGFuCmFkbWluaXN0cmF0b3IgY2FuIGNob29zZSB0byBleHBsaWNpdGx5IGhpZGUgdGhlIFNZU0NB TEwgZmVhdHVyZSBmcm9tIHRoZQpndWVzdCwgYXMgaXQgaGFzIGEgc2VwYXJhdGUgZmVhdHVyZSBi aXQuICBJZiB0aGlzIGlzIHRoZSBjYXNlLCB0aGUgZmVhdHVyZQpzaG91bGRuJ3QgYmUgc2V0IGJl aGluZCB0aGUgYmFjayBvZiB0aGUgYWRtaW5pc3RyYXRvcnMgd2lzaGVzLiAgKE5vdCB0aGF0IG1h bnkKNjRiaXQgT1NlcyB3b3VsZCBmdW5jdGlvbiBpbiB0aGlzIHNjZW5hcmlvLikgIEluIHJlYWxp dHksIFNZU0NBTEwgd2lsbCBhbHdheXMKYmUgc2V0IGluIGVkeCBhdCB0aGlzIHBvaW50LgoKU2ln bmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0t CkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBKdW4gTmFrYWppbWEgPGp1 bi5uYWthamltYUBpbnRlbC5jb20+CkNDOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNv bT4KQ0M6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+CkNDOiBT dXJhdmVlIFN1dGhpa3VscGFuaXQgPHN1cmF2ZWUuc3V0aGlrdWxwYW5pdEBhbWQuY29tPgoKdjI6 CiAqIFVwZGF0ZSBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHRoZSBkaWZmZXJlbmNlIHdpdGgg U1lDQUxMIGhhbmRsaW5nLgogKiBFbnRpcmVseSBleGNsdWRlIGxlYWYgMHg4MDAwMDAxYyBvdXRz aWRlIG9mIEFNRCBoYXJkd2FyZS4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYyAgICB8 ICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICB8IDI3ICsrKysrKysrKysrKysr KysrKysrKy0tLS0tLQogeGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMgICAgfCAzOSArKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9odm0vdm14L3Zt eC5jICAgIHwgMzEgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUv YXNtLXg4Ni9odm0vaHZtLmggfCAgMyAtLS0KIDUgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9u cygrKSwgNzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9lbXVs YXRlLmMgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwppbmRleCBkMGEwNDNiLi5lZmFlNGRm IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYworKysgYi94ZW4vYXJjaC94 ODYvaHZtL2VtdWxhdGUuYwpAQCAtMTU2NSw3ICsxNTY1LDcgQEAgaW50IGh2bWVtdWxfY3B1aWQo CiAgICAgICAgICBodm1fY2hlY2tfY3B1aWRfZmF1bHRpbmcoY3VycmVudCkgKQogICAgICAgICBy ZXR1cm4gWDg2RU1VTF9FWENFUFRJT047CiAKLSAgICBodm1fZnVuY3MuY3B1aWRfaW50ZXJjZXB0 KGVheCwgZWJ4LCBlY3gsIGVkeCk7CisgICAgaHZtX2NwdWlkKCplYXgsIGVheCwgZWJ4LCBlY3gs IGVkeCk7CiAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKIH0KIApkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggMWMzNWRkZS4u NjUyYTQ5NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJj aC94ODYvaHZtL2h2bS5jCkBAIC05MDYsMTIgKzkwNiw3IEBAIGNvbnN0IGNoYXIgKmh2bV9lZmVy X3ZhbGlkKGNvbnN0IHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCB2YWx1ZSwKICAgICAgICAgQVNT RVJUKHYtPmRvbWFpbiA9PSBjdXJyZW50LT5kb21haW4pOwogICAgICAgICBodm1fY3B1aWQoMHg4 MDAwMDAwMCwgJmxldmVsLCBOVUxMLCBOVUxMLCBOVUxMKTsKICAgICAgICAgaWYgKCAobGV2ZWwg Pj4gMTYpID09IDB4ODAwMCAmJiBsZXZlbCA+IDB4ODAwMDAwMDAgKQotICAgICAgICB7Ci0gICAg ICAgICAgICB1bnNpZ25lZCBpbnQgZHVtbXk7Ci0KLSAgICAgICAgICAgIGxldmVsID0gMHg4MDAw MDAwMTsKLSAgICAgICAgICAgIGh2bV9mdW5jcy5jcHVpZF9pbnRlcmNlcHQoJmxldmVsLCAmZHVt bXksICZleHQxX2VjeCwgJmV4dDFfZWR4KTsKLSAgICAgICAgfQorICAgICAgICAgICAgaHZtX2Nw dWlkKDB4ODAwMDAwMDEsIE5VTEwsIE5VTEwsICZleHQxX2VjeCwgJmV4dDFfZWR4KTsKICAgICB9 CiAgICAgZWxzZQogICAgIHsKQEAgLTM3MDIsNiArMzY5NywxMiBAQCB2b2lkIGh2bV9jcHVpZCh1 bnNpZ25lZCBpbnQgaW5wdXQsIHVuc2lnbmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwK ICAgICAgICAgICAgIGlmICggIShodm1fcGFlX2VuYWJsZWQodikgfHwgaHZtX2xvbmdfbW9kZV9l bmFibGVkKHYpKSApCiAgICAgICAgICAgICAgICAgKmVkeCAmPSB+Y3B1ZmVhdF9tYXNrKFg4Nl9G RUFUVVJFX1BTRTM2KTsKICAgICAgICAgfQorCisgICAgICAgIC8qIFNZU0NBTEwgaXMgaGlkZGVu IG91dHNpZGUgb2YgbG9uZyBtb2RlIG9uIEludGVsLiAqLworICAgICAgICBpZiAoIGQtPmFyY2gu eDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMICYmCisgICAgICAgICAgICAgIWh2bV9sb25n X21vZGVfZW5hYmxlZCh2KSkKKyAgICAgICAgICAgICplZHggJj0gfmNwdWZlYXRfbWFzayhYODZf RkVBVFVSRV9TWVNDQUxMKTsKKwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgMHg4MDAwMDAw NzoKQEAgLTM3MjYsNiArMzcyNywyMCBAQCB2b2lkIGh2bV9jcHVpZCh1bnNpZ25lZCBpbnQgaW5w dXQsIHVuc2lnbmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwKIAogICAgICAgICAqZWJ4 ICY9IGh2bV9mZWF0dXJlc2V0W0ZFQVRVUkVTRVRfZThiXTsKICAgICAgICAgYnJlYWs7CisKKyAg ICBjYXNlIDB4ODAwMDAwMWM6CisgICAgICAgIGlmICggIWNwdV9oYXNfc3ZtICkKKyAgICAgICAg eworICAgICAgICAgICAgKmVheCA9ICplYnggPSAqZWN4ID0gKmVkeCA9IDA7CisgICAgICAgICAg ICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmICggY3B1X2hhc19sd3AgJiYgKHYtPmFy Y2gueGNyMCAmIFhTVEFURV9MV1ApICkKKyAgICAgICAgICAgIC8qIFR1cm4gb24gYXZhaWxhYmxl IGJpdCBhbmQgb3RoZXIgZmVhdHVyZXMgc3BlY2lmaWVkIGluIGx3cF9jZmcuICovCisgICAgICAg ICAgICAqZWF4ID0gKCplZHggJiB2LT5hcmNoLmh2bV9zdm0uZ3Vlc3RfbHdwX2NmZykgfCAxOwor ICAgICAgICBlbHNlCisgICAgICAgICAgICAqZWF4ID0gMDsKKyAgICAgICAgYnJlYWs7CiAgICAg fQogfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYyBiL3hlbi9hcmNo L3g4Ni9odm0vc3ZtL3N2bS5jCmluZGV4IDE1ODhiMmYuLmRmMDg3ZDkgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5j CkBAIC0xNTY1LDQxICsxNTY1LDYgQEAgc3RhdGljIHZvaWQgc3ZtX2ZwdV9kaXJ0eV9pbnRlcmNl cHQodm9pZCkKICAgICAgICAgdm1jYl9zZXRfY3IwKHZtY2IsIHZtY2JfZ2V0X2NyMCh2bWNiKSAm IH5YODZfQ1IwX1RTKTsKIH0KIAotc3RhdGljIHZvaWQgc3ZtX2NwdWlkX2ludGVyY2VwdCgKLSAg ICB1bnNpZ25lZCBpbnQgKmVheCwgdW5zaWduZWQgaW50ICplYngsCi0gICAgdW5zaWduZWQgaW50 ICplY3gsIHVuc2lnbmVkIGludCAqZWR4KQotewotICAgIHVuc2lnbmVkIGludCBpbnB1dCA9ICpl YXg7Ci0gICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50OwotCi0gICAgaHZtX2NwdWlkKGlucHV0 LCBlYXgsIGVieCwgZWN4LCBlZHgpOwotCi0gICAgc3dpdGNoIChpbnB1dCkgewotICAgIGNhc2Ug MHg4MDAwMDAxYzogCi0gICAgewotICAgICAgICAvKiBMV1AgY2FwYWJpbGl0eSBDUFVJRCAqLwot ICAgICAgICB1aW50NjRfdCBsd3BfY2ZnID0gdi0+YXJjaC5odm1fc3ZtLmd1ZXN0X2x3cF9jZmc7 Ci0KLSAgICAgICAgaWYgKCBjcHVfaGFzX2x3cCApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlm ICggISh2LT5hcmNoLnhjcjAgJiBYU1RBVEVfTFdQKSApCi0gICAgICAgICAgIHsKLSAgICAgICAg ICAgICAgICAqZWF4ID0gMHgwOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg fQotCi0gICAgICAgICAgICAvKiB0dXJuIG9uIGF2YWlsYWJsZSBiaXQgYW5kIG90aGVyIGZlYXR1 cmVzIHNwZWNpZmllZCBpbiBsd3BfY2ZnICovCi0gICAgICAgICAgICAqZWF4ID0gKCplZHggJiBs d3BfY2ZnKSB8IDB4MDAwMDAwMDE7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgfQot ICAgIGRlZmF1bHQ6Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIEhWTVRSQUNFXzVEIChD UFVJRCwgaW5wdXQsICplYXgsICplYngsICplY3gsICplZHgpOwotfQotCiBzdGF0aWMgdm9pZCBz dm1fdm1leGl0X2RvX2NwdWlkKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewogICAgIHVu c2lnbmVkIGludCBlYXgsIGVieCwgZWN4LCBlZHgsIGluc3RfbGVuOwpAQCAtMTYxMiw3ICsxNTc3 LDggQEAgc3RhdGljIHZvaWQgc3ZtX3ZtZXhpdF9kb19jcHVpZChzdHJ1Y3QgY3B1X3VzZXJfcmVn cyAqcmVncykKICAgICBlY3ggPSByZWdzLT5lY3g7CiAgICAgZWR4ID0gcmVncy0+ZWR4OwogCi0g ICAgc3ZtX2NwdWlkX2ludGVyY2VwdCgmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KTsKKyAgICBodm1f Y3B1aWQocmVncy0+X2VheCwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7CisgICAgSFZNVFJBQ0Vf NUQoQ1BVSUQsIHJlZ3MtPl9lYXgsIGVheCwgZWJ4LCBlY3gsIGVkeCk7CiAKICAgICByZWdzLT5l YXggPSBlYXg7CiAgICAgcmVncy0+ZWJ4ID0gZWJ4OwpAQCAtMjI0NCw3ICsyMjEwLDYgQEAgc3Rh dGljIHN0cnVjdCBodm1fZnVuY3Rpb25fdGFibGUgX19pbml0ZGF0YSBzdm1fZnVuY3Rpb25fdGFi bGUgPSB7CiAgICAgLmluaXRfaHlwZXJjYWxsX3BhZ2UgID0gc3ZtX2luaXRfaHlwZXJjYWxsX3Bh Z2UsCiAgICAgLmV2ZW50X3BlbmRpbmcgICAgICAgID0gc3ZtX2V2ZW50X3BlbmRpbmcsCiAgICAg LmludmxwZyAgICAgICAgICAgICAgID0gc3ZtX2ludmxwZywKLSAgICAuY3B1aWRfaW50ZXJjZXB0 ICAgICAgPSBzdm1fY3B1aWRfaW50ZXJjZXB0LAogICAgIC53YmludmRfaW50ZXJjZXB0ICAgICA9 IHN2bV93YmludmRfaW50ZXJjZXB0LAogICAgIC5mcHVfZGlydHlfaW50ZXJjZXB0ICA9IHN2bV9m cHVfZGlydHlfaW50ZXJjZXB0LAogICAgIC5tc3JfcmVhZF9pbnRlcmNlcHQgICA9IHN2bV9tc3Jf cmVhZF9pbnRlcmNlcHQsCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyBi L3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCmluZGV4IDUwNWNkZWEuLjQ5OWIzMDAgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0v dm14L3ZteC5jCkBAIC03Myw5ICs3Myw2IEBAIHN0YXRpYyB2b2lkIHZteF9pbnN0YWxsX3ZsYXBp Y19tYXBwaW5nKHN0cnVjdCB2Y3B1ICp2KTsKIHN0YXRpYyB2b2lkIHZteF91cGRhdGVfZ3Vlc3Rf Y3Ioc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBjcik7CiBzdGF0aWMgdm9pZCB2bXhfdXBk YXRlX2d1ZXN0X2VmZXIoc3RydWN0IHZjcHUgKnYpOwogc3RhdGljIHZvaWQgdm14X3VwZGF0ZV9n dWVzdF92ZW5kb3Ioc3RydWN0IHZjcHUgKnYpOwotc3RhdGljIHZvaWQgdm14X2NwdWlkX2ludGVy Y2VwdCgKLSAgICB1bnNpZ25lZCBpbnQgKmVheCwgdW5zaWduZWQgaW50ICplYngsCi0gICAgdW5z aWduZWQgaW50ICplY3gsIHVuc2lnbmVkIGludCAqZWR4KTsKIHN0YXRpYyB2b2lkIHZteF93Ymlu dmRfaW50ZXJjZXB0KHZvaWQpOwogc3RhdGljIHZvaWQgdm14X2ZwdV9kaXJ0eV9pbnRlcmNlcHQo dm9pZCk7CiBzdGF0aWMgaW50IHZteF9tc3JfcmVhZF9pbnRlcmNlcHQodW5zaWduZWQgaW50IG1z ciwgdWludDY0X3QgKm1zcl9jb250ZW50KTsKQEAgLTIxMDUsNyArMjEwMiw2IEBAIHN0YXRpYyBz dHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIF9faW5pdGRhdGEgdm14X2Z1bmN0aW9uX3RhYmxlID0g ewogICAgIC5pbnZscGcgICAgICAgICAgICAgICA9IHZteF9pbnZscGcsCiAgICAgLmNwdV91cCAg ICAgICAgICAgICAgID0gdm14X2NwdV91cCwKICAgICAuY3B1X2Rvd24gICAgICAgICAgICAgPSB2 bXhfY3B1X2Rvd24sCi0gICAgLmNwdWlkX2ludGVyY2VwdCAgICAgID0gdm14X2NwdWlkX2ludGVy Y2VwdCwKICAgICAud2JpbnZkX2ludGVyY2VwdCAgICAgPSB2bXhfd2JpbnZkX2ludGVyY2VwdCwK ICAgICAuZnB1X2RpcnR5X2ludGVyY2VwdCAgPSB2bXhfZnB1X2RpcnR5X2ludGVyY2VwdCwKICAg ICAubXNyX3JlYWRfaW50ZXJjZXB0ICAgPSB2bXhfbXNyX3JlYWRfaW50ZXJjZXB0LApAQCAtMjM0 MSwzMCArMjMzNyw2IEBAIHN0YXRpYyB2b2lkIHZteF9mcHVfZGlydHlfaW50ZXJjZXB0KHZvaWQp CiAgICAgfQogfQogCi1zdGF0aWMgdm9pZCB2bXhfY3B1aWRfaW50ZXJjZXB0KAotICAgIHVuc2ln bmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwKLSAgICB1bnNpZ25lZCBpbnQgKmVjeCwg dW5zaWduZWQgaW50ICplZHgpCi17Ci0gICAgdW5zaWduZWQgaW50IGlucHV0ID0gKmVheDsKLSAg ICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7Ci0KLSAgICBodm1fY3B1aWQoaW5wdXQsIGVheCwg ZWJ4LCBlY3gsIGVkeCk7Ci0KLSAgICBzd2l0Y2ggKCBpbnB1dCApCi0gICAgewotICAgICAgICBj YXNlIDB4ODAwMDAwMDE6Ci0gICAgICAgICAgICAvKiBTWVNDQUxMIGlzIHZpc2libGUgaWZmIHJ1 bm5pbmcgaW4gbG9uZyBtb2RlLiAqLwotICAgICAgICAgICAgaWYgKCBodm1fbG9uZ19tb2RlX2Vu YWJsZWQodikgKQotICAgICAgICAgICAgICAgICplZHggfD0gY3B1ZmVhdF9tYXNrKFg4Nl9GRUFU VVJFX1NZU0NBTEwpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICplZHggJj0g fihjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfU1lTQ0FMTCkpOwotCi0gICAgICAgICAgICBicmVh azsKLSAgICB9Ci0KLSAgICBIVk1UUkFDRV81RCAoQ1BVSUQsIGlucHV0LCAqZWF4LCAqZWJ4LCAq ZWN4LCAqZWR4KTsKLX0KLQogc3RhdGljIGludCB2bXhfZG9fY3B1aWQoc3RydWN0IGNwdV91c2Vy X3JlZ3MgKnJlZ3MpCiB7CiAgICAgdW5zaWduZWQgaW50IGVheCwgZWJ4LCBlY3gsIGVkeDsKQEAg LTIzODQsNyArMjM1Niw4IEBAIHN0YXRpYyBpbnQgdm14X2RvX2NwdWlkKHN0cnVjdCBjcHVfdXNl cl9yZWdzICpyZWdzKQogICAgIGxlYWYgPSByZWdzLT5lYXg7CiAgICAgc3VibGVhZiA9IHJlZ3Mt PmVjeDsKIAotICAgIHZteF9jcHVpZF9pbnRlcmNlcHQoJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7 CisgICAgaHZtX2NwdWlkKGxlYWYsICZlYXgsICZlYngsICZlY3gsICZlZHgpOworICAgIEhWTVRS QUNFXzVEKENQVUlELCBsZWFmLCBlYXgsIGVieCwgZWN4LCBlZHgpOwogCiAgICAgcmVncy0+ZWF4 ID0gZWF4OwogICAgIHJlZ3MtPmVieCA9IGVieDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvaHZtL2h2bS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgKaW5kZXggYjM3 YjMzNS4uMWFiZTc0MyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgK KysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgKQEAgLTE2MSw5ICsxNjEsNiBAQCBz dHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIHsKICAgICB1bnNpZ25lZCBpbnQgKCpnZXRfaW5zbl9i eXRlcykoc3RydWN0IHZjcHUgKnYsIHVpbnQ4X3QgKmJ1Zik7CiAKICAgICAvKiBJbnN0cnVjdGlv biBpbnRlcmNlcHRzOiBub24tdm9pZCByZXR1cm4gdmFsdWVzIGFyZSBYODZFTVVMIGNvZGVzLiAq LwotICAgIHZvaWQgKCpjcHVpZF9pbnRlcmNlcHQpKAotICAgICAgICB1bnNpZ25lZCBpbnQgKmVh eCwgdW5zaWduZWQgaW50ICplYngsCi0gICAgICAgIHVuc2lnbmVkIGludCAqZWN4LCB1bnNpZ25l ZCBpbnQgKmVkeCk7CiAgICAgdm9pZCAoKndiaW52ZF9pbnRlcmNlcHQpKHZvaWQpOwogICAgIHZv aWQgKCpmcHVfZGlydHlfaW50ZXJjZXB0KSh2b2lkKTsKICAgICBpbnQgKCptc3JfcmVhZF9pbnRl cmNlcHQpKHVuc2lnbmVkIGludCBtc3IsIHVpbnQ2NF90ICptc3JfY29udGVudCk7Ci0tIAoyLjEu NAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=