From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH 01/19] libxl/xl: move some HVM/PV specific fields of libxl_domain_build_info Date: Tue, 22 Aug 2017 10:49:02 +0100 Message-ID: <20170822094920.70151-2-roger.pau@citrix.com> References: <20170822094920.70151-1-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dk5oN-000574-4F for xen-devel@lists.xenproject.org; Tue, 22 Aug 2017 09:49:27 +0000 In-Reply-To: <20170822094920.70151-1-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Wei Liu , boris.ostrovsky@oracle.com, Roger Pau Monne , Ian Jackson List-Id: xen-devel@lists.xenproject.org TW92ZSB0aGUgSFZNL1BWIHN1Yi1zdHJ1Y3R1cmUgZmllbGRzIG9mIGxpYnhsX2RvbWFpbl9idWls ZF9pbmZvIGludG8KdGhlIHRvcC1sZXZlbCBzdHJ1Y3R1cmUuIHhsIGlzIGFsc28gbW9kaWZpZWQg dG8gc3RhcnQgdXNpbmcgdGhvc2UKZmllbGRzLgoKVGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIHRo b3NlIG9wdGlvbnMgd2lsbCBiZSB1c2VkIGJ5IHRoZSBuZXcgUFZICmd1ZXN0IHR5cGUuCgpEZWZp bmVzIGFyZSBhZGRlZCBpbiBvcmRlciB0byBzaWduYWwgY29uc3VtZXJzIHRoYXQgdGhlIGZpZWxk cyBhcmUKYXZhaWxhYmxlLgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIu cGF1QGNpdHJpeC5jb20+Ci0tLQpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJp eC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnhs L2xpYnhsLmggICAgICAgICAgICB8ICAxNiArKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2Jvb3Rs b2FkZXIuYyB8ICAxNCArKystLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jICAgICB8ICAy NCArKysrKysrKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAgICB8ICAgOCArLS0KIHRv b2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCAgICB8ICAxMyArKysrKwogdG9vbHMvbGlieGwvbGli eGxfeDg2LmMgICAgICAgIHwgICAyICstCiB0b29scy9saWJ4bC9saWJ4bF94ODZfYWNwaS5jICAg fCAgIDIgKy0KIHRvb2xzL3hsL3hsX3BhcnNlLmMgICAgICAgICAgICB8IDEwNyArKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogdG9vbHMveGwveGxfc3hwLmMgICAgICAg ICAgICAgIHwgIDE2ICsrKy0tLQogOSBmaWxlcyBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygrKSwg NjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaCBiL3Rvb2xz L2xpYnhsL2xpYnhsLmgKaW5kZXggMjI5ZTI4OTc1MC4uM2FlZTI2ZmY1MyAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGwvbGlieGwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC0zMDYsNiAr MzA2LDIyIEBACiAjZGVmaW5lIExJQlhMX0hBVkVfQlVJTERJTkZPX0hWTV9BQ1BJX0xBUFRPUF9T TEFURSAxCiAKIC8qCisgKiBMSUJYTF9IQVZFX0JVSUxESU5GT18qIGluZGljYXRlcyB0aGF0IGxp YnhsX2RvbWFpbl9idWlsZF9pbmZvIGhhcworICogdGhlIGZpZWxkIHJlcHJlc2VudGVkIGJ5IHRo ZSAnKicuIFRoZSBvcmlnaW5hbCBwb3NpdGlvbiBvZiB0aG9zZQorICogZmllbGRzIGlzOgorICog IC0gdS5odm0udGltZXJfbW9kZQorICogIC0gdS5odm0uYXBpYworICogIC0gdS5odm0ubmVzdGVk X2h2bQorICogIC0gdS5wdi5ib290bG9hZGVyCisgKiAgLSB1LnB2LmJvb3Rsb2FkZXJfYXJncwor ICovCisjZGVmaW5lIExJQlhMX0hBVkVfQlVJTERJTkZPX1RJTUVSX01PREUgMQorI2RlZmluZSBM SUJYTF9IQVZFX0JVSUxESU5GT19BUElDIDEKKyNkZWZpbmUgTElCWExfSEFWRV9CVUlMRElORk9f TkVTVEVEX0hWTSAxCisjZGVmaW5lIExJQlhMX0hBVkVfQlVJTERJTkZPX0JPT1RMT0FERVIgMQor I2RlZmluZSBMSUJYTF9IQVZFX0JVSUxESU5GT19CT09UTE9BREVSX0FSR1MgMQorCisvKgogICog bGlieGwgQUJJIGNvbXBhdGliaWxpdHkKICAqCiAgKiBUaGUgb25seSBndWFyYW50ZWUgd2hpY2gg bGlieGwgbWFrZXMgcmVnYXJkaW5nIEFCSSBjb21wYXRpYmlsaXR5CmRpZmYgLS1naXQgYS90b29s cy9saWJ4bC9saWJ4bF9ib290bG9hZGVyLmMgYi90b29scy9saWJ4bC9saWJ4bF9ib290bG9hZGVy LmMKaW5kZXggYzdjMjAxMjYyYy4uYTQ3YmQ4YzI1YyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv bGlieGxfYm9vdGxvYWRlci5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Jvb3Rsb2FkZXIuYwpA QCAtNTEsNyArNTEsNyBAQCBzdGF0aWMgdm9pZCBtYWtlX2Jvb3Rsb2FkZXJfYXJncyhsaWJ4bF9f Z2MgKmdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwsCiB7CiAgICAgY29uc3QgbGlieGxf ZG9tYWluX2J1aWxkX2luZm8gKmluZm8gPSBibC0+aW5mbzsKIAotICAgIGJsLT5hcmdzc3BhY2Ug PSA5ICsgbGlieGxfc3RyaW5nX2xpc3RfbGVuZ3RoKCZpbmZvLT51LnB2LmJvb3Rsb2FkZXJfYXJn cyk7CisgICAgYmwtPmFyZ3NzcGFjZSA9IDkgKyBsaWJ4bF9zdHJpbmdfbGlzdF9sZW5ndGgoJmlu Zm8tPmJvb3Rsb2FkZXJfYXJncyk7CiAKICAgICBHQ05FV19BUlJBWShibC0+YXJncywgYmwtPmFy Z3NzcGFjZSk7CiAKQEAgLTcwLDggKzcwLDggQEAgc3RhdGljIHZvaWQgbWFrZV9ib290bG9hZGVy X2FyZ3MobGlieGxfX2djICpnYywgbGlieGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsLAogICAgIEFS RygiLS1vdXRwdXQtZm9ybWF0PXNpbXBsZTAiKTsKICAgICBBUkcoR0NTUFJJTlRGKCItLW91dHB1 dC1kaXJlY3Rvcnk9JXMiLCBibC0+b3V0cHV0ZGlyKSk7CiAKLSAgICBpZiAoaW5mby0+dS5wdi5i b290bG9hZGVyX2FyZ3MpIHsKLSAgICAgICAgY2hhciAqKnAgPSBpbmZvLT51LnB2LmJvb3Rsb2Fk ZXJfYXJnczsKKyAgICBpZiAoaW5mby0+Ym9vdGxvYWRlcl9hcmdzKSB7CisgICAgICAgIGNoYXIg KipwID0gaW5mby0+Ym9vdGxvYWRlcl9hcmdzOwogICAgICAgICB3aGlsZSAoKnApIHsKICAgICAg ICAgICAgIEFSRygqcCk7CiAgICAgICAgICAgICBwKys7CkBAIC0zMzAsNyArMzMwLDcgQEAgdm9p ZCBsaWJ4bF9fYm9vdGxvYWRlcl9ydW4obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fYm9vdGxvYWRl cl9zdGF0ZSAqYmwpCiAgICAgICAgIGdvdG8gb3V0X29rOwogICAgIH0KIAotICAgIGlmICghaW5m by0+dS5wdi5ib290bG9hZGVyKSB7CisgICAgaWYgKCFpbmZvLT5ib290bG9hZGVyKSB7CiAgICAg ICAgIExPR0QoREVCVUcsIGRvbWlkLAogICAgICAgICAgICAgICJubyBib290bG9hZGVyIGNvbmZp Z3VyZWQsIHVzaW5nIHVzZXIgc3VwcGxpZWQga2VybmVsIik7CiAgICAgICAgIGJsLT5rZXJuZWwt PnBhdGggPSBibC0+aW5mby0+a2VybmVsOwpAQCAtNDE5LDE0ICs0MTksMTQgQEAgc3RhdGljIHZv aWQgYm9vdGxvYWRlcl9kaXNrX2F0dGFjaGVkX2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICB9CiAK ICAgICBMT0dEKERFQlVHLCBibC0+ZG9taWQsCi0gICAgICAgICAiQ29uZmlnIGJvb3Rsb2FkZXIg dmFsdWU6ICVzIiwgaW5mby0+dS5wdi5ib290bG9hZGVyKTsKKyAgICAgICAgICJDb25maWcgYm9v dGxvYWRlciB2YWx1ZTogJXMiLCBpbmZvLT5ib290bG9hZGVyKTsKIAotICAgIGlmICggIXN0cmNt cChpbmZvLT51LnB2LmJvb3Rsb2FkZXIsICIvdXNyL2Jpbi9weWdydWIiKSApCisgICAgaWYgKCAh c3RyY21wKGluZm8tPmJvb3Rsb2FkZXIsICIvdXNyL2Jpbi9weWdydWIiKSApCiAgICAgICAgIExP R0QoV0FSTiwgYmwtPmRvbWlkLAogICAgICAgICAgICAgICJib290bG9hZGVyPScvdXNyL2Jpbi9w eWdydWInIGlzIGRlcHJlY2F0ZWQ7IHVzZSAiIFwKICAgICAgICAgICAgICAiYm9vdGxvYWRlcj0n cHlncnViJyBpbnN0ZWFkIik7CiAKLSAgICBib290bG9hZGVyID0gaW5mby0+dS5wdi5ib290bG9h ZGVyOworICAgIGJvb3Rsb2FkZXIgPSBpbmZvLT5ib290bG9hZGVyOwogCiAgICAgLyogSWYgdGhl IGZ1bGwgcGF0aCBpcyBub3Qgc3BlY2lmaWVkLCBjaGVjayBpbiB0aGUgbGliZXhlYyBwYXRoICov CiAgICAgaWYgKCBib290bG9hZGVyWzBdICE9ICcvJyApIHsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp YnhsL2xpYnhsX2NyZWF0ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggMTE1 ODMwM2UxYS4uMmYwM2ViZTU4NiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRl LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKQEAgLTQwNiw2ICs0MDYsMjggQEAg aW50IGxpYnhsX19kb21haW5fYnVpbGRfaW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsCiAg ICAgICAgICAgICBsaWJ4bF9kb21haW5fdHlwZV90b19zdHJpbmcoYl9pbmZvLT50eXBlKSk7CiAg ICAgICAgIHJldHVybiBFUlJPUl9JTlZBTDsKICAgICB9CisKKyAgICBpZiAoYl9pbmZvLT50eXBl ID09IExJQlhMX0RPTUFJTl9UWVBFX0hWTSkgeworICAgICAgICBsaWJ4bF9kZWZib29sX3NldGRl ZmF1bHQoJmJfaW5mby0+bmVzdGVkX2h2bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnhsX2RlZmJvb2xfdmFsKGJfaW5mby0+dS5odm0ubmVzdGVkX2h2bSkpOworICAgICAg ICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+YXBpYywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdmFsKGJfaW5mby0+dS5odm0uYXBpYykp OworICAgIH0gZWxzZSB7CisgICAgICAgIGxpYnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmYl9pbmZv LT5uZXN0ZWRfaHZtLCBmYWxzZSk7CisgICAgICAgIGxpYnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgm Yl9pbmZvLT5hcGljLCB0cnVlKTsKKyAgICB9CisKKyAgICBpZiAoYl9pbmZvLT50aW1lcl9tb2Rl ID09IExJQlhMX1RJTUVSX01PREVfREVGQVVMVCkKKyAgICAgICAgYl9pbmZvLT50aW1lcl9tb2Rl ID0gYl9pbmZvLT50eXBlID09IExJQlhMX0RPTUFJTl9UWVBFX0hWTQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA/IGJfaW5mby0+dS5odm0udGltZXJfbW9kZQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6IExJQlhMX1RJTUVSX01PREVfTk9fREVMQVlfRk9SX01JU1NFRF9USUNL UzsKKworICAgIGlmIChiX2luZm8tPnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfUFYgJiYgIWJf aW5mby0+Ym9vdGxvYWRlcikgeworICAgICAgICBhc3NlcnQoIWJfaW5mby0+Ym9vdGxvYWRlcl9h cmdzKTsKKyAgICAgICAgYl9pbmZvLT5ib290bG9hZGVyID0gYl9pbmZvLT51LnB2LmJvb3Rsb2Fk ZXI7CisgICAgICAgIGJfaW5mby0+Ym9vdGxvYWRlcl9hcmdzID0gYl9pbmZvLT51LnB2LmJvb3Rs b2FkZXJfYXJnczsKKyAgICB9CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAtOTAxLDcgKzkyMyw3 IEBAIHN0YXRpYyB2b2lkIGluaXRpYXRlX2RvbWFpbl9jcmVhdGUobGlieGxfX2VnYyAqZWdjLAog ICAgIH0KIAogICAgIGlmIChkX2NvbmZpZy0+Y19pbmZvLnR5cGUgPT0gTElCWExfRE9NQUlOX1RZ UEVfSFZNICYmCi0gICAgICAgIChsaWJ4bF9kZWZib29sX3ZhbChkX2NvbmZpZy0+Yl9pbmZvLnUu aHZtLm5lc3RlZF9odm0pICYmCisgICAgICAgIChsaWJ4bF9kZWZib29sX3ZhbChkX2NvbmZpZy0+ Yl9pbmZvLm5lc3RlZF9odm0pICYmCiAgICAgICAgIChsaWJ4bF9kZWZib29sX3ZhbChkX2NvbmZp Zy0+Yl9pbmZvLnUuaHZtLmFsdHAybSkgfHwKICAgICAgICAgKGRfY29uZmlnLT5iX2luZm8uYWx0 cDJtICE9IExJQlhMX0FMVFAyTV9NT0RFX0RJU0FCTEVEKSkpKSB7CiAgICAgICAgIHJldCA9IEVS Uk9SX0lOVkFMOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgYi90b29scy9s aWJ4bC9saWJ4bF9kb20uYwppbmRleCBmNTRmZDQ5YTczLi4zMzIxM2RiMzg4IDEwMDY0NAotLS0g YS90b29scy9saWJ4bC9saWJ4bF9kb20uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpA QCAtMTkwLDcgKzE5MCw3IEBAIHN0YXRpYyBpbnQgbnVtYV9wbGFjZV9kb21haW4obGlieGxfX2dj ICpnYywgdWludDMyX3QgZG9taWQsCiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIHRpbWVyX21vZGUo Y29uc3QgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8pCiB7Ci0gICAgY29uc3QgbGlieGxf dGltZXJfbW9kZSBtb2RlID0gaW5mby0+dS5odm0udGltZXJfbW9kZTsKKyAgICBjb25zdCBsaWJ4 bF90aW1lcl9tb2RlIG1vZGUgPSBpbmZvLT50aW1lcl9tb2RlOwogICAgIGFzc2VydChtb2RlID49 IExJQlhMX1RJTUVSX01PREVfREVMQVlfRk9SX01JU1NFRF9USUNLUyAmJgogICAgICAgICAgICBt b2RlIDw9IExJQlhMX1RJTUVSX01PREVfT05FX01JU1NFRF9USUNLX1BFTkRJTkcpOwogICAgIHJl dHVybiAoKHVuc2lnbmVkIGxvbmcpbW9kZSk7CkBAIC0zMDUsNyArMzA1LDcgQEAgc3RhdGljIHZv aWQgaHZtX3NldF9jb25mX3BhcmFtcyh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgdWludDMyX3QgZG9t aWQsCiAgICAgeGNfaHZtX3BhcmFtX3NldChoYW5kbGUsIGRvbWlkLCBIVk1fUEFSQU1fVlBUX0FM SUdOLAogICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZWZib29sX3ZhbChpbmZvLT51Lmh2bS52 cHRfYWxpZ24pKTsKICAgICB4Y19odm1fcGFyYW1fc2V0KGhhbmRsZSwgZG9taWQsIEhWTV9QQVJB TV9ORVNURURIVk0sCi0gICAgICAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdmFsKGluZm8t PnUuaHZtLm5lc3RlZF9odm0pKTsKKyAgICAgICAgICAgICAgICAgICAgbGlieGxfZGVmYm9vbF92 YWwoaW5mby0+bmVzdGVkX2h2bSkpOwogfQogCiBpbnQgbGlieGxfX2J1aWxkX3ByZShsaWJ4bF9f Z2MgKmdjLCB1aW50MzJfdCBkb21pZCwKQEAgLTgzMyw3ICs4MzMsNyBAQCBzdGF0aWMgaW50IGh2 bV9idWlsZF9zZXRfcGFyYW1zKHhjX2ludGVyZmFjZSAqaGFuZGxlLCB1aW50MzJfdCBkb21pZCwK ICAgICAgICAgICAgIHJldHVybiBFUlJPUl9GQUlMOwogCiAgICAgICAgIHZhX2h2bSA9IChzdHJ1 Y3QgaHZtX2luZm9fdGFibGUgKikodmFfbWFwICsgSFZNX0lORk9fT0ZGU0VUKTsKLSAgICAgICAg dmFfaHZtLT5hcGljX21vZGUgPSBsaWJ4bF9kZWZib29sX3ZhbChpbmZvLT51Lmh2bS5hcGljKTsK KyAgICAgICAgdmFfaHZtLT5hcGljX21vZGUgPSBsaWJ4bF9kZWZib29sX3ZhbChpbmZvLT5hcGlj KTsKICAgICAgICAgdmFfaHZtLT5ucl92Y3B1cyA9IGluZm8tPm1heF92Y3B1czsKICAgICAgICAg bWVtc2V0KHZhX2h2bS0+dmNwdV9vbmxpbmUsIDAsIHNpemVvZih2YV9odm0tPnZjcHVfb25saW5l KSk7CiAgICAgICAgIG1lbWNweSh2YV9odm0tPnZjcHVfb25saW5lLCBpbmZvLT5hdmFpbF92Y3B1 cy5tYXAsIGluZm8tPmF2YWlsX3ZjcHVzLnNpemUpOwpAQCAtMTExOCw3ICsxMTE4LDcgQEAgaW50 IGxpYnhsX19idWlsZF9odm0obGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAg IGRvbS0+bW1pb19zaXplID0gSFZNX0JFTE9XXzRHX01NSU9fTEVOR1RIOwogICAgIGVsc2UgaWYg KGRvbS0+bW1pb19zaXplID09IDAgJiYgIWRldmljZV9tb2RlbCkgewogI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKLSAgICAgICAgaWYgKGxpYnhsX2RlZmJvb2xf dmFsKGluZm8tPnUuaHZtLmFwaWMpKSB7CisgICAgICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbChp bmZvLT5hcGljKSkgewogICAgICAgICAgICAgLyogTWFrZSBzdXJlIExBUElDX0JBU0VfQUREUkVT UyBpcyBiZWxvdyBzcGVjaWFsIHBhZ2VzICovCiAgICAgICAgICAgICBhc3NlcnQoKCgoKFg4Nl9I Vk1fRU5EX1NQRUNJQUxfUkVHSU9OIC0gWDg2X0hWTV9OUl9TUEVDSUFMX1BBR0VTKQogICAgICAg ICAgICAgICAgICAgICAgIDw8IFhDX1BBR0VfU0hJRlQpIC0gTEFQSUNfQkFTRV9BRERSRVNTKSkg Pj0gWENfUEFHRV9TSVpFKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlk bCBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAppbmRleCA2ZTgwZDM2MjU2Li5iZjE2NTJk MzY3IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMv bGlieGwvbGlieGxfdHlwZXMuaWRsCkBAIC01MDYsMTAgKzUwNiwxNyBAQCBsaWJ4bF9kb21haW5f YnVpbGRfaW5mbyA9IFN0cnVjdCgiZG9tYWluX2J1aWxkX2luZm8iLFsKICAgICAjIDY1MDAwIHdo aWNoIGlzIHJlc2VydmVkIGJ5IHRoZSB0b29sc3RhY2suCiAgICAgKCJkZXZpY2VfdHJlZSIsICAg ICAgc3RyaW5nKSwKICAgICAoImFjcGkiLCAgICAgICAgICAgICBsaWJ4bF9kZWZib29sKSwKKyAg ICAoImJvb3Rsb2FkZXIiLCAgICAgICBzdHJpbmcpLAorICAgICgiYm9vdGxvYWRlcl9hcmdzIiwg IGxpYnhsX3N0cmluZ19saXN0KSwKKyAgICAoInRpbWVyX21vZGUiLCAgICAgICBsaWJ4bF90aW1l cl9tb2RlKSwKKyAgICAoIm5lc3RlZF9odm0iLCAgICAgICBsaWJ4bF9kZWZib29sKSwKKyAgICAo ImFwaWMiLCAgICAgICAgICAgICBsaWJ4bF9kZWZib29sKSwKICAgICAoInUiLCBLZXllZFVuaW9u KE5vbmUsIGxpYnhsX2RvbWFpbl90eXBlLCAidHlwZSIsCiAgICAgICAgICAgICAgICAgWygiaHZt IiwgU3RydWN0KE5vbmUsIFsoImZpcm13YXJlIiwgICAgICAgICBzdHJpbmcpLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJiaW9zIiwgICAgICAgICAgICAgbGlieGxf Ymlvc190eXBlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicGFl IiwgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2wpLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIyBUaGUgYXBpYyBmaWVsZCBpcyBkZXByZWNhdGVkLCBwbGVhc2UKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgdXNlIHRoZSB1bmlmaWVkIGFw aWMgZmllbGQgYWJvdmUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo ImFwaWMiLCAgICAgICAgICAgICBsaWJ4bF9kZWZib29sKSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICMgVGhlIGZvbGxvd2luZyBhY3BpIGZpZWxkIGlzIGRlcHJlY2F0 ZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFBsZWFzZSB1c2Ug dGhlIHVuaWZpZWQgYWNwaSBmaWVsZCBhYm92ZQpAQCAtNTI2LDYgKzUzMyw5IEBAIGxpYnhsX2Rv bWFpbl9idWlsZF9pbmZvID0gU3RydWN0KCJkb21haW5fYnVpbGRfaW5mbyIsWwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJocGV0IiwgICAgICAgICAgICAgbGlieGxf ZGVmYm9vbCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInZwdF9h bGlnbiIsICAgICAgICBsaWJ4bF9kZWZib29sKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgibW1pb19ob2xlX21lbWtiIiwgIE1lbUtCKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMgdGltZV9tb2RlIGFuZCBuZXN0ZWRfaHZtIGZpZWxk cyBhcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZGVwcmVjYXRl ZCBpbiBmYXZvciBvZiB0aGUgdW5pZmllZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIyBmaWVsZHMgcHJlc2VudCBhYm92ZS4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgidGltZXJfbW9kZSIsICAgICAgIGxpYnhsX3RpbWVyX21vZGUpLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJuZXN0ZWRfaHZtIiwgICAg ICAgbGlieGxfZGVmYm9vbCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjIFRoZSB1Lmh2bS5hbHRwMm0gZmllbGQgaXMgdXNlZCBzb2xlbHkKQEAgLTU2OCw2ICs1Nzgs OSBAQCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyA9IFN0cnVjdCgiZG9tYWluX2J1aWxkX2luZm8i LFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pKSwKICAgICAgICAg ICAgICAgICAgKCJwdiIsIFN0cnVjdChOb25lLCBbKCJrZXJuZWwiLCBzdHJpbmcpLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInNsYWNrX21lbWtiIiwgTWVtS0IpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGJvb3Rsb2FkZXIgYW5kIGJv b3Rsb2FkZXJfYXJncyBmaWVsZHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIyBhcmUgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUgdW5pZmllZAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZpZWxkcyBwcmVzZW50IGFib3ZlLgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoImJvb3Rsb2FkZXIiLCBzdHJpbmcpLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoImJvb3Rsb2FkZXJfYXJncyIs IGxpYnhsX3N0cmluZ19saXN0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKCJjbWRsaW5lIiwgc3RyaW5nKSwKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4 Ni5jIGIvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKaW5kZXggNDU1ZjZmMGJlZC4uNDQyODU0YzVj MiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKKysrIGIvdG9vbHMvbGlieGwv bGlieGxfeDg2LmMKQEAgLTEyLDcgKzEyLDcgQEAgaW50IGxpYnhsX19hcmNoX2RvbWFpbl9wcmVw YXJlX2NvbmZpZyhsaWJ4bF9fZ2MgKmdjLAogICAgICAgICBpZiAoZF9jb25maWctPmJfaW5mby5k ZXZpY2VfbW9kZWxfdmVyc2lvbiAhPQogICAgICAgICAgICAgTElCWExfREVWSUNFX01PREVMX1ZF UlNJT05fTk9ORSkgewogICAgICAgICAgICAgeGNfY29uZmlnLT5lbXVsYXRpb25fZmxhZ3MgPSBY RU5fWDg2X0VNVV9BTEw7Ci0gICAgICAgIH0gZWxzZSBpZiAobGlieGxfZGVmYm9vbF92YWwoZF9j b25maWctPmJfaW5mby51Lmh2bS5hcGljKSkgeworICAgICAgICB9IGVsc2UgaWYgKGxpYnhsX2Rl ZmJvb2xfdmFsKGRfY29uZmlnLT5iX2luZm8uYXBpYykpIHsKICAgICAgICAgICAgIC8qCiAgICAg ICAgICAgICAgKiBIVk0gZ3Vlc3RzIHdpdGhvdXQgZGV2aWNlIG1vZGVsIG1heSB3YW50CiAgICAg ICAgICAgICAgKiB0byBoYXZlIExBUElDIGVtdWxhdGlvbi4KZGlmZiAtLWdpdCBhL3Rvb2xzL2xp YnhsL2xpYnhsX3g4Nl9hY3BpLmMgYi90b29scy9saWJ4bC9saWJ4bF94ODZfYWNwaS5jCmluZGV4 IGMwYTZlMzIxZWMuLmNkOGY0ZjQ3NzkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4 Nl9hY3BpLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfeDg2X2FjcGkuYwpAQCAtMTEyLDcgKzEx Miw3IEBAIHN0YXRpYyBpbnQgaW5pdF9hY3BpX2NvbmZpZyhsaWJ4bF9fZ2MgKmdjLAogCiAgICAg aHZtaW5mbyA9IGxpYnhsX196YWxsb2MoZ2MsIHNpemVvZigqaHZtaW5mbykpOwogCi0gICAgaHZt aW5mby0+YXBpY19tb2RlID0gbGlieGxfZGVmYm9vbF92YWwoYl9pbmZvLT51Lmh2bS5hcGljKTsK KyAgICBodm1pbmZvLT5hcGljX21vZGUgPSBsaWJ4bF9kZWZib29sX3ZhbChiX2luZm8tPmFwaWMp OwogCiAgICAgaWYgKGRvbS0+bnJfdm5vZGVzKSB7CiAgICAgICAgIHVuc2lnbmVkIGludCAqdmNw dV90b192bm9kZSwgKnZkaXN0YW5jZTsKZGlmZiAtLWdpdCBhL3Rvb2xzL3hsL3hsX3BhcnNlLmMg Yi90b29scy94bC94bF9wYXJzZS5jCmluZGV4IDVjMmJmMTcyMjIuLmY3ODI1NWRmZTUgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL3hsL3hsX3BhcnNlLmMKKysrIGIvdG9vbHMveGwveGxfcGFyc2UuYwpAQCAt MTAzNyw2ICsxMDM3LDY1IEBAIHZvaWQgcGFyc2VfY29uZmlnX2RhdGEoY29uc3QgY2hhciAqY29u ZmlnX3NvdXJjZSwKICAgICB4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgImRyaXZlcl9kb21h aW4iLCAmY19pbmZvLT5kcml2ZXJfZG9tYWluLCAwKTsKICAgICB4bHVfY2ZnX2dldF9kZWZib29s KGNvbmZpZywgImFjcGkiLCAmYl9pbmZvLT5hY3BpLCAwKTsKIAorICAgIHhsdV9jZmdfcmVwbGFj ZV9zdHJpbmcgKGNvbmZpZywgImJvb3Rsb2FkZXIiLCAmYl9pbmZvLT5ib290bG9hZGVyLCAwKTsK KyAgICBzd2l0Y2ggKHhsdV9jZmdfZ2V0X2xpc3RfYXNfc3RyaW5nX2xpc3QoY29uZmlnLCAiYm9v dGxvYWRlcl9hcmdzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmJfaW5mby0+Ym9vdGxvYWRlcl9hcmdzLCAxKSkgeworICAgIGNhc2UgMDoKKyAgICAgICAg YnJlYWs7IC8qIFN1Y2Nlc3MgKi8KKyAgICBjYXNlIEVTUkNIOiBicmVhazsgLyogT3B0aW9uIG5v dCBwcmVzZW50ICovCisgICAgY2FzZSBFSU5WQUw6CisgICAgICAgIGlmICgheGx1X2NmZ19nZXRf c3RyaW5nKGNvbmZpZywgImJvb3Rsb2FkZXJfYXJncyIsICZidWYsIDApKSB7CisKKyAgICAgICAg ICAgIGZwcmludGYoc3RkZXJyLCAiV0FSTklORzogU3BlY2lmeWluZyBcImJvb3Rsb2FkZXJfYXJn c1wiIgorICAgICAgICAgICAgICAgICAgICAiIGFzIGEgc3RyaW5nIGlzIGRlcHJlY2F0ZWQuICIK KyAgICAgICAgICAgICAgICAgICAgIlBsZWFzZSB1c2UgYSBsaXN0IG9mIGFyZ3VtZW50cy5cbiIp OworICAgICAgICAgICAgc3BsaXRfc3RyaW5nX2ludG9fc3RyaW5nX2xpc3QoYnVmLCAiIFx0XG4i LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJfaW5mby0+Ym9v dGxvYWRlcl9hcmdzKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0Ogor ICAgICAgICBmcHJpbnRmKHN0ZGVyciwieGw6IFVuYWJsZSB0byBwYXJzZSBib290bG9hZGVyX2Fy Z3MuXG4iKTsKKyAgICAgICAgZXhpdCgtRVJST1JfRkFJTCk7CisgICAgfQorCisgICAgaWYgKCF4 bHVfY2ZnX2dldF9sb25nKGNvbmZpZywgInRpbWVyX21vZGUiLCAmbCwgMSkpIHsKKyAgICAgICAg Y29uc3QgY2hhciAqcyA9IGxpYnhsX3RpbWVyX21vZGVfdG9fc3RyaW5nKGwpOworCisgICAgICAg IGlmIChiX2luZm8tPnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfUFYpIHsKKyAgICAgICAgICAg IGZwcmludGYoc3RkZXJyLAorICAgICAgICAgICAgICAgICAgICAieGw6IFwidGltZXJfbW9kZVwi IG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciBQViBndWVzdHMuXG4iKTsKKyAgICAgICAgICAg IGV4aXQoLUVSUk9SX0ZBSUwpOworICAgICAgICB9CisKKyAgICAgICAgZnByaW50ZihzdGRlcnIs ICJXQVJOSU5HOiBzcGVjaWZ5aW5nIFwidGltZXJfbW9kZVwiIGFzIGFuIGludGVnZXIgaXMgZGVw cmVjYXRlZC4gIgorICAgICAgICAgICAgICAgICJQbGVhc2UgdXNlIHRoZSBuYW1lZCBwYXJhbWV0 ZXIgdmFyaWFudC4gJXMlcyVzXG4iLAorICAgICAgICAgICAgICAgIHMgPyAiZS5nLiB0aW1lcl9t b2RlPVwiIiA6ICIiLAorICAgICAgICAgICAgICAgIHMgPyBzIDogIiIsCisgICAgICAgICAgICAg ICAgcyA/ICJcIiIgOiAiIik7CisKKyAgICAgICAgaWYgKGwgPCBMSUJYTF9USU1FUl9NT0RFX0RF TEFZX0ZPUl9NSVNTRURfVElDS1MgfHwKKyAgICAgICAgICAgIGwgPiBMSUJYTF9USU1FUl9NT0RF X09ORV9NSVNTRURfVElDS19QRU5ESU5HKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwg IkVSUk9SOiBpbnZhbGlkIHZhbHVlICVsZCBmb3IgXCJ0aW1lcl9tb2RlXCJcbiIsIGwpOworICAg ICAgICAgICAgZXhpdCAoMSk7CisgICAgICAgIH0KKyAgICAgICAgYl9pbmZvLT50aW1lcl9tb2Rl ID0gbDsKKyAgICB9IGVsc2UgaWYgKCF4bHVfY2ZnX2dldF9zdHJpbmcoY29uZmlnLCAidGltZXJf bW9kZSIsICZidWYsIDApKSB7CisgICAgICAgIGlmIChiX2luZm8tPnR5cGUgPT0gTElCWExfRE9N QUlOX1RZUEVfUFYpIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLAorICAgICAgICAgICAg ICAgICAgICAieGw6IFwidGltZXJfbW9kZVwiIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciBQ ViBndWVzdHMuXG4iKTsKKyAgICAgICAgICAgIGV4aXQoLUVSUk9SX0ZBSUwpOworICAgICAgICB9 CisKKyAgICAgICAgaWYgKGxpYnhsX3RpbWVyX21vZGVfZnJvbV9zdHJpbmcoYnVmLCAmYl9pbmZv LT50aW1lcl9tb2RlKSkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFUlJPUjogaW52 YWxpZCB2YWx1ZSBcIiVzXCIgZm9yIFwidGltZXJfbW9kZVwiXG4iLAorICAgICAgICAgICAgICAg ICAgICBidWYpOworICAgICAgICAgICAgZXhpdCAoMSk7CisgICAgICAgIH0KKyAgICB9CisKKyAg ICB4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgIm5lc3RlZGh2bSIsICZiX2luZm8tPm5lc3Rl ZF9odm0sIDApOworICAgIHhsdV9jZmdfZ2V0X2RlZmJvb2woY29uZmlnLCAiYXBpYyIsICZiX2lu Zm8tPmFwaWMsIDApOworCiAgICAgc3dpdGNoKGJfaW5mby0+dHlwZSkgewogICAgIGNhc2UgTElC WExfRE9NQUlOX1RZUEVfSFZNOgogICAgICAgICBrZXJuZWxfYmFzZW5hbWUgPSBsaWJ4bF9iYXNl bmFtZShiX2luZm8tPmtlcm5lbCk7CkBAIC0xMDY0LDcgKzExMjMsNiBAQCB2b2lkIHBhcnNlX2Nv bmZpZ19kYXRhKGNvbnN0IGNoYXIgKmNvbmZpZ19zb3VyY2UsCiAgICAgICAgICAgICAgICAgICAg ICJiaW9zX3BhdGhfb3ZlcnJpZGUgZ2l2ZW4gd2l0aG91dCBzcGVjaWZpYyBiaW9zIG5hbWVcbiIp OwogCiAgICAgICAgIHhsdV9jZmdfZ2V0X2RlZmJvb2woY29uZmlnLCAicGFlIiwgJmJfaW5mby0+ dS5odm0ucGFlLCAwKTsKLSAgICAgICAgeGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJhcGlj IiwgJmJfaW5mby0+dS5odm0uYXBpYywgMCk7CiAgICAgICAgIHhsdV9jZmdfZ2V0X2RlZmJvb2wo Y29uZmlnLCAiYWNwaV9zMyIsICZiX2luZm8tPnUuaHZtLmFjcGlfczMsIDApOwogICAgICAgICB4 bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgImFjcGlfczQiLCAmYl9pbmZvLT51Lmh2bS5hY3Bp X3M0LCAwKTsKICAgICAgICAgeGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJhY3BpX2xhcHRv cF9zbGF0ZSIsICZiX2luZm8tPnUuaHZtLmFjcGlfbGFwdG9wX3NsYXRlLCAwKTsKQEAgLTExMzQs MjkgKzExOTIsNiBAQCB2b2lkIHBhcnNlX2NvbmZpZ19kYXRhKGNvbnN0IGNoYXIgKmNvbmZpZ19z b3VyY2UsCiAgICAgICAgICAgICAgICAgZXhpdCAoMSk7CiAgICAgICAgICAgICB9CiAgICAgICAg IH0KLSAgICAgICAgaWYgKCF4bHVfY2ZnX2dldF9sb25nKGNvbmZpZywgInRpbWVyX21vZGUiLCAm bCwgMSkpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIgKnMgPSBsaWJ4bF90aW1lcl9tb2RlX3Rv X3N0cmluZyhsKTsKLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiV0FSTklORzogc3BlY2lm eWluZyBcInRpbWVyX21vZGVcIiBhcyBhbiBpbnRlZ2VyIGlzIGRlcHJlY2F0ZWQuICIKLSAgICAg ICAgICAgICAgICAgICAgIlBsZWFzZSB1c2UgdGhlIG5hbWVkIHBhcmFtZXRlciB2YXJpYW50LiAl cyVzJXNcbiIsCi0gICAgICAgICAgICAgICAgICAgIHMgPyAiZS5nLiB0aW1lcl9tb2RlPVwiIiA6 ICIiLAotICAgICAgICAgICAgICAgICAgICBzID8gcyA6ICIiLAotICAgICAgICAgICAgICAgICAg ICBzID8gIlwiIiA6ICIiKTsKLQotICAgICAgICAgICAgaWYgKGwgPCBMSUJYTF9USU1FUl9NT0RF X0RFTEFZX0ZPUl9NSVNTRURfVElDS1MgfHwKLSAgICAgICAgICAgICAgICBsID4gTElCWExfVElN RVJfTU9ERV9PTkVfTUlTU0VEX1RJQ0tfUEVORElORykgewotICAgICAgICAgICAgICAgIGZwcmlu dGYoc3RkZXJyLCAiRVJST1I6IGludmFsaWQgdmFsdWUgJWxkIGZvciBcInRpbWVyX21vZGVcIlxu IiwgbCk7Ci0gICAgICAgICAgICAgICAgZXhpdCAoMSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg ICAgICBiX2luZm8tPnUuaHZtLnRpbWVyX21vZGUgPSBsOwotICAgICAgICB9IGVsc2UgaWYgKCF4 bHVfY2ZnX2dldF9zdHJpbmcoY29uZmlnLCAidGltZXJfbW9kZSIsICZidWYsIDApKSB7Ci0gICAg ICAgICAgICBpZiAobGlieGxfdGltZXJfbW9kZV9mcm9tX3N0cmluZyhidWYsICZiX2luZm8tPnUu aHZtLnRpbWVyX21vZGUpKSB7Ci0gICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFUlJP UjogaW52YWxpZCB2YWx1ZSBcIiVzXCIgZm9yIFwidGltZXJfbW9kZVwiXG4iLAotICAgICAgICAg ICAgICAgICAgICAgICAgYnVmKTsKLSAgICAgICAgICAgICAgICBleGl0ICgxKTsKLSAgICAgICAg ICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIHhsdV9jZmdfZ2V0X2RlZmJvb2woY29uZmlnLCAi bmVzdGVkaHZtIiwgJmJfaW5mby0+dS5odm0ubmVzdGVkX2h2bSwgMCk7CiAKICAgICAgICAgaWYg KCF4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgImFsdHAybWh2bSIsICZiX2luZm8tPnUuaHZt LmFsdHAybSwgMCkpCiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIldBUk5JTkc6IFNwZWNp ZnlpbmcgXCJhbHRwMm1odm1cIiBpcyBkZXByZWNhdGVkLiAiCkBAIC0xMjEyLDI5ICsxMjQ3LDcg QEAgdm9pZCBwYXJzZV9jb25maWdfZGF0YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogICAg ICAgICBicmVhazsKICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BWOgogICAgIHsKLSAgICAg ICAgeGx1X2NmZ19yZXBsYWNlX3N0cmluZyAoY29uZmlnLCAiYm9vdGxvYWRlciIsICZiX2luZm8t PnUucHYuYm9vdGxvYWRlciwgMCk7Ci0gICAgICAgIHN3aXRjaCAoeGx1X2NmZ19nZXRfbGlzdF9h c19zdHJpbmdfbGlzdChjb25maWcsICJib290bG9hZGVyX2FyZ3MiLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmYl9pbmZvLT51LnB2LmJvb3Rsb2FkZXJfYXJncywgMSkp Ci0gICAgICAgIHsKLQotICAgICAgICBjYXNlIDA6IGJyZWFrOyAvKiBTdWNjZXNzICovCi0gICAg ICAgIGNhc2UgRVNSQ0g6IGJyZWFrOyAvKiBPcHRpb24gbm90IHByZXNlbnQgKi8KLSAgICAgICAg Y2FzZSBFSU5WQUw6Ci0gICAgICAgICAgICBpZiAoIXhsdV9jZmdfZ2V0X3N0cmluZyhjb25maWcs ICJib290bG9hZGVyX2FyZ3MiLCAmYnVmLCAwKSkgewotCi0gICAgICAgICAgICAgICAgZnByaW50 ZihzdGRlcnIsICJXQVJOSU5HOiBTcGVjaWZ5aW5nIFwiYm9vdGxvYWRlcl9hcmdzXCIiCi0gICAg ICAgICAgICAgICAgICAgICAgICAiIGFzIGEgc3RyaW5nIGlzIGRlcHJlY2F0ZWQuICIKLSAgICAg ICAgICAgICAgICAgICAgICAgICJQbGVhc2UgdXNlIGEgbGlzdCBvZiBhcmd1bWVudHMuXG4iKTsK LSAgICAgICAgICAgICAgICBzcGxpdF9zdHJpbmdfaW50b19zdHJpbmdfbGlzdChidWYsICIgXHRc biIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJfaW5m by0+dS5wdi5ib290bG9hZGVyX2FyZ3MpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJl YWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwieGw6IFVu YWJsZSB0byBwYXJzZSBib290bG9hZGVyX2FyZ3MuXG4iKTsKLSAgICAgICAgICAgIGV4aXQoLUVS Uk9SX0ZBSUwpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCFiX2luZm8tPnUucHYuYm9vdGxv YWRlciAmJiAhYl9pbmZvLT5rZXJuZWwpIHsKKyAgICAgICAgaWYgKCFiX2luZm8tPmJvb3Rsb2Fk ZXIgJiYgIWJfaW5mby0+a2VybmVsKSB7CiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk5l aXRoZXIga2VybmVsIG5vciBib290bG9hZGVyIHNwZWNpZmllZFxuIik7CiAgICAgICAgICAgICBl eGl0KDEpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS90b29scy94bC94bF9zeHAuYyBiL3Rvb2xz L3hsL3hsX3N4cC5jCmluZGV4IGU3MzhiZjI0NjUuLjQ4NzU4MjQwZTYgMTAwNjQ0Ci0tLSBhL3Rv b2xzL3hsL3hsX3N4cC5jCisrKyBiL3Rvb2xzL3hsL3hsX3N4cC5jCkBAIC03MCwxMiArNzAsMTIg QEAgdm9pZCBwcmludGZfaW5mb19zZXhwKGludCBkb21pZCwgbGlieGxfZG9tYWluX2NvbmZpZyAq ZF9jb25maWcsIEZJTEUgKmZoKQogICAgIGZwcmludGYoZmgsICJcdChub21pZ3JhdGUgJXMpXG4i LAogICAgICAgICAgICBsaWJ4bF9kZWZib29sX3RvX3N0cmluZyhiX2luZm8tPmRpc2FibGVfbWln cmF0ZSkpOwogCi0gICAgaWYgKGNfaW5mby0+dHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9QViAm JiBiX2luZm8tPnUucHYuYm9vdGxvYWRlcikgewotICAgICAgICBmcHJpbnRmKGZoLCAiXHQoYm9v dGxvYWRlciAlcylcbiIsIGJfaW5mby0+dS5wdi5ib290bG9hZGVyKTsKLSAgICAgICAgaWYgKGJf aW5mby0+dS5wdi5ib290bG9hZGVyX2FyZ3MpIHsKKyAgICBpZiAoY19pbmZvLT50eXBlID09IExJ QlhMX0RPTUFJTl9UWVBFX1BWICYmIGJfaW5mby0+Ym9vdGxvYWRlcikgeworICAgICAgICBmcHJp bnRmKGZoLCAiXHQoYm9vdGxvYWRlciAlcylcbiIsIGJfaW5mby0+Ym9vdGxvYWRlcik7CisgICAg ICAgIGlmIChiX2luZm8tPmJvb3Rsb2FkZXJfYXJncykgewogICAgICAgICAgICAgZnByaW50Zihm aCwgIlx0KGJvb3Rsb2FkZXJfYXJncyIpOwotICAgICAgICAgICAgZm9yIChpPTA7IGJfaW5mby0+ dS5wdi5ib290bG9hZGVyX2FyZ3NbaV07IGkrKykKLSAgICAgICAgICAgICAgICBmcHJpbnRmKGZo LCAiICVzIiwgYl9pbmZvLT51LnB2LmJvb3Rsb2FkZXJfYXJnc1tpXSk7CisgICAgICAgICAgICBm b3IgKGk9MDsgYl9pbmZvLT5ib290bG9hZGVyX2FyZ3NbaV07IGkrKykKKyAgICAgICAgICAgICAg ICBmcHJpbnRmKGZoLCAiICVzIiwgYl9pbmZvLT5ib290bG9hZGVyX2FyZ3NbaV0pOwogICAgICAg ICAgICAgZnByaW50ZihmaCwgIilcbiIpOwogICAgICAgICB9CiAgICAgfQpAQCAtODksNyArODks NyBAQCB2b2lkIHByaW50Zl9pbmZvX3NleHAoaW50IGRvbWlkLCBsaWJ4bF9kb21haW5fY29uZmln ICpkX2NvbmZpZywgRklMRSAqZmgpCiAgICAgICAgIGZwcmludGYoZmgsICJcdFx0XHQoc2hhZG93 X21lbWtiICUiUFJJZDY0IilcbiIsIGJfaW5mby0+c2hhZG93X21lbWtiKTsKICAgICAgICAgZnBy aW50ZihmaCwgIlx0XHRcdChwYWUgJXMpXG4iLCBsaWJ4bF9kZWZib29sX3RvX3N0cmluZyhiX2lu Zm8tPnUuaHZtLnBhZSkpOwogICAgICAgICBmcHJpbnRmKGZoLCAiXHRcdFx0KGFwaWMgJXMpXG4i LAotICAgICAgICAgICAgICAgbGlieGxfZGVmYm9vbF90b19zdHJpbmcoYl9pbmZvLT51Lmh2bS5h cGljKSk7CisgICAgICAgICAgICAgICBsaWJ4bF9kZWZib29sX3RvX3N0cmluZyhiX2luZm8tPmFw aWMpKTsKICAgICAgICAgZnByaW50ZihmaCwgIlx0XHRcdChhY3BpICVzKVxuIiwKICAgICAgICAg ICAgICAgIGxpYnhsX2RlZmJvb2xfdG9fc3RyaW5nKGJfaW5mby0+dS5odm0uYWNwaSkpOwogICAg ICAgICBmcHJpbnRmKGZoLCAiXHRcdFx0KG54ICVzKVxuIiwgbGlieGxfZGVmYm9vbF90b19zdHJp bmcoYl9pbmZvLT51Lmh2bS5ueCkpOwpAQCAtMTAwLDkgKzEwMCw5IEBAIHZvaWQgcHJpbnRmX2lu Zm9fc2V4cChpbnQgZG9taWQsIGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLCBGSUxFICpm aCkKICAgICAgICAgZnByaW50ZihmaCwgIlx0XHRcdCh2cHRfYWxpZ24gJXMpXG4iLAogICAgICAg ICAgICAgICAgbGlieGxfZGVmYm9vbF90b19zdHJpbmcoYl9pbmZvLT51Lmh2bS52cHRfYWxpZ24p KTsKICAgICAgICAgZnByaW50ZihmaCwgIlx0XHRcdCh0aW1lcl9tb2RlICVzKVxuIiwKLSAgICAg ICAgICAgICAgIGxpYnhsX3RpbWVyX21vZGVfdG9fc3RyaW5nKGJfaW5mby0+dS5odm0udGltZXJf bW9kZSkpOworICAgICAgICAgICAgICAgbGlieGxfdGltZXJfbW9kZV90b19zdHJpbmcoYl9pbmZv LT50aW1lcl9tb2RlKSk7CiAgICAgICAgIGZwcmludGYoZmgsICJcdFx0XHQobmVzdGVkaHZtICVz KVxuIiwKLSAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdG9fc3RyaW5nKGJfaW5mby0+dS5o dm0ubmVzdGVkX2h2bSkpOworICAgICAgICAgICAgICAgbGlieGxfZGVmYm9vbF90b19zdHJpbmco Yl9pbmZvLT5uZXN0ZWRfaHZtKSk7CiAgICAgICAgIGZwcmludGYoZmgsICJcdFx0XHQoc3Rkdmdh ICVzKVxuIiwgYl9pbmZvLT51Lmh2bS52Z2Eua2luZCA9PQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMSUJYTF9WR0FfSU5URVJGQUNFX1RZUEVfU1REID8KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRydWUiIDogIkZhbHNlIik7Ci0tIAoyLjEx LjAgKEFwcGxlIEdpdC04MSkKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK