From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v2 03/21] libxl/xl: use the new domain_build_info fields position Date: Thu, 7 Sep 2017 11:16:24 +0100 Message-ID: <20170907101642.15782-4-roger.pau@citrix.com> References: <20170907101642.15782-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dptrs-00051o-SK for xen-devel@lists.xenproject.org; Thu, 07 Sep 2017 10:17:05 +0000 In-Reply-To: <20170907101642.15782-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 VGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIHRob3NlIG9wdGlvbnMgd2lsbCBiZSB1c2VkIGJ5IHRo ZSBuZXcgUFZICmd1ZXN0IHR5cGUsIGFuZCB0aHVzIG5lZWQgdG8gYmUgc2hhcmVkIGJldHdlZW4g UFYgYW5kIEhWTS4KCkRlZmluZXMgYXJlIGFkZGVkIGluIG9yZGVyIHRvIHNpZ25hbCBjb25zdW1l cnMgdGhhdCB0aGUgZmllbGRzIGFyZQphdmFpbGFibGUuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQ YXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tCkNjOiBJYW4gSmFja3NvbiA8aWFu LmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+ Ci0tLQogdG9vbHMvbGlieGwvbGlieGwuaCAgICAgICAgICAgIHwgIDE2ICsrKysrKwogdG9vbHMv bGlieGwvbGlieGxfYm9vdGxvYWRlci5jIHwgIDE0ICsrKy0tLQogdG9vbHMvbGlieGwvbGlieGxf Y3JlYXRlLmMgICAgIHwgIDIxICsrKysrLS0tCiB0b29scy9saWJ4bC9saWJ4bF9kb20uYyAgICAg ICAgfCAgIDggKy0tCiB0b29scy9saWJ4bC9saWJ4bF94ODYuYyAgICAgICAgfCAgIDIgKy0KIHRv b2xzL2xpYnhsL2xpYnhsX3g4Nl9hY3BpLmMgICB8ICAgMiArLQogdG9vbHMveGwveGxfcGFyc2Uu YyAgICAgICAgICAgIHwgMTA3ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tCiB0b29scy94bC94bF9zeHAuYyAgICAgICAgICAgICAgfCAgMTYgKysrLS0tCiA4IGZpbGVz IGNoYW5nZWQsIDExMCBpbnNlcnRpb25zKCspLCA3NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS90b29scy9saWJ4bC9saWJ4bC5oIGIvdG9vbHMvbGlieGwvbGlieGwuaAppbmRleCA4MTJiN2Vh OTVkLi5lNDQxNDc5NzgwIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bC5oCisrKyBiL3Rv b2xzL2xpYnhsL2xpYnhsLmgKQEAgLTMxMSw2ICszMTEsMjIgQEAKICNkZWZpbmUgTElCWExfSEFW RV9QOVMgMQogCiAvKgorKiBMSUJYTF9IQVZFX0JVSUxESU5GT18qIGluZGljYXRlcyB0aGF0IGxp 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 YnhsL2xpYnhsX2NyZWF0ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggOTEy MzU4NWI1Mi4uOTM2ODJhOTYwZiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRl LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKQEAgLTYyLDcgKzYyLDcgQEAgdm9p ZCBsaWJ4bF9fcmRtX3NldGRlZmF1bHQobGlieGxfX2djICpnYywgbGlieGxfZG9tYWluX2J1aWxk X2luZm8gKmJfaW5mbykKIGludCBsaWJ4bF9fZG9tYWluX2J1aWxkX2luZm9fc2V0ZGVmYXVsdChs aWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX2RvbWFpbl9idWlsZF9pbmZvICpiX2luZm8pCiB7Ci0gICAgaW50IGk7CisgICAgaW50IGks IHJjOwogCiAgICAgaWYgKGJfaW5mby0+dHlwZSAhPSBMSUJYTF9ET01BSU5fVFlQRV9IVk0gJiYK ICAgICAgICAgYl9pbmZvLT50eXBlICE9IExJQlhMX0RPTUFJTl9UWVBFX1BWKSB7CkBAIC03MCw2 ICs3MCwxMyBAQCBpbnQgbGlieGxfX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQobGlieGxf X2djICpnYywKICAgICAgICAgcmV0dXJuIEVSUk9SX0lOVkFMOwogICAgIH0KIAorICAgIC8qIENv cHkgZGVwcmVjYXRlZCBvcHRpb25zIHRvIGl0J3MgbmV3IHBvc2l0aW9uLiAqLworICAgIHJjID0g bGlieGxfX2RvbWFpbl9idWlsZF9pbmZvX2NvcHlfZGVwcmVjYXRlZChDVFgsIGJfaW5mbyk7Cisg ICAgaWYgKHJjKSB7CisgICAgICAgIExPRyhFUlJPUiwgIlVuYWJsZSB0byBjb3B5IGRlcHJlY2F0 ZWQgZmllbGRzIik7CisgICAgICAgIHJldHVybiByYzsKKyAgICB9CisKICAgICBsaWJ4bF9kZWZi b29sX3NldGRlZmF1bHQoJmJfaW5mby0+ZGV2aWNlX21vZGVsX3N0dWJkb21haW4sIGZhbHNlKTsK IAogICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbChiX2luZm8tPmRldmljZV9tb2RlbF9zdHViZG9t YWluKSAmJgpAQCAtOTEsNyArOTgsNiBAQCBpbnQgbGlieGxfX2RvbWFpbl9idWlsZF9pbmZvX3Nl dGRlZmF1bHQobGlieGxfX2djICpnYywKICAgICAgICAgaWYgKGJfaW5mby0+ZGV2aWNlX21vZGVs X3ZlcnNpb24KICAgICAgICAgICAgICAgICA9PSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9R RU1VX1hFTikgewogICAgICAgICAgICAgY29uc3QgY2hhciAqZG07Ci0gICAgICAgICAgICBpbnQg cmM7CiAKICAgICAgICAgICAgIGRtID0gbGlieGxfX2RvbWFpbl9kZXZpY2VfbW9kZWwoZ2MsIGJf aW5mbyk7CiAgICAgICAgICAgICByYyA9IGFjY2VzcyhkbSwgWF9PSyk7CkBAIC0zMDQsMTIgKzMx MCwxMSBAQCBpbnQgbGlieGxfX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQobGlieGxfX2dj ICpnYywKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGJfaW5m by0+dS5odm0udGltZXJfbW9kZSA9PSBMSUJYTF9USU1FUl9NT0RFX0RFRkFVTFQpCi0gICAgICAg ICAgICBiX2luZm8tPnUuaHZtLnRpbWVyX21vZGUgPQotICAgICAgICAgICAgICAgIExJQlhMX1RJ TUVSX01PREVfTk9fREVMQVlfRk9SX01JU1NFRF9USUNLUzsKKyAgICAgICAgaWYgKGxpYnhsX190 aW1lcl9tb2RlX2lzX2RlZmF1bHQoYl9pbmZvLT50aW1lcl9tb2RlKSkKKyAgICAgICAgICAgIGJf aW5mby0+dGltZXJfbW9kZSA9IExJQlhMX1RJTUVSX01PREVfTk9fREVMQVlfRk9SX01JU1NFRF9U SUNLUzsKIAogICAgICAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+dS5odm0u cGFlLCAgICAgICAgICAgICAgICB0cnVlKTsKLSAgICAgICAgbGlieGxfZGVmYm9vbF9zZXRkZWZh dWx0KCZiX2luZm8tPnUuaHZtLmFwaWMsICAgICAgICAgICAgICAgdHJ1ZSk7CisgICAgICAgIGxp YnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmYl9pbmZvLT5hcGljLCAgICAgICAgICAgICAgICAgICAg IHRydWUpOwogICAgICAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+dS5odm0u YWNwaSwgICAgICAgICAgICAgICB0cnVlKTsKICAgICAgICAgbGlieGxfZGVmYm9vbF9zZXRkZWZh dWx0KCZiX2luZm8tPnUuaHZtLmFjcGlfczMsICAgICAgICAgICAgdHJ1ZSk7CiAgICAgICAgIGxp YnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmYl9pbmZvLT51Lmh2bS5hY3BpX3M0LCAgICAgICAgICAg IHRydWUpOwpAQCAtMzE4LDcgKzMyMyw3IEBAIGludCBsaWJ4bF9fZG9tYWluX2J1aWxkX2luZm9f c2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLAogICAgICAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1 bHQoJmJfaW5mby0+dS5odm0udmlyaWRpYW4sICAgICAgICAgICBmYWxzZSk7CiAgICAgICAgIGxp YnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmYl9pbmZvLT51Lmh2bS5ocGV0LCAgICAgICAgICAgICAg IHRydWUpOwogICAgICAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+dS5odm0u dnB0X2FsaWduLCAgICAgICAgICB0cnVlKTsKLSAgICAgICAgbGlieGxfZGVmYm9vbF9zZXRkZWZh dWx0KCZiX2luZm8tPnUuaHZtLm5lc3RlZF9odm0sICAgICAgICAgZmFsc2UpOworICAgICAgICBs aWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+bmVzdGVkX2h2bSwgICAgICAgICAgICAg ICBmYWxzZSk7CiAgICAgICAgIGxpYnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmYl9pbmZvLT51Lmh2 bS5hbHRwMm0sICAgICAgICAgICAgIGZhbHNlKTsKICAgICAgICAgbGlieGxfZGVmYm9vbF9zZXRk ZWZhdWx0KCZiX2luZm8tPnUuaHZtLnVzYiwgICAgICAgICAgICAgICAgZmFsc2UpOwogICAgICAg ICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+dS5odm0ueGVuX3BsYXRmb3JtX3Bj aSwgICB0cnVlKTsKQEAgLTkwMyw3ICs5MDgsNyBAQCBzdGF0aWMgdm9pZCBpbml0aWF0ZV9kb21h aW5fY3JlYXRlKGxpYnhsX19lZ2MgKmVnYywKICAgICB9CiAKICAgICBpZiAoZF9jb25maWctPmNf aW5mby50eXBlID09IExJQlhMX0RPTUFJTl9UWVBFX0hWTSAmJgotICAgICAgICAobGlieGxfZGVm Ym9vbF92YWwoZF9jb25maWctPmJfaW5mby51Lmh2bS5uZXN0ZWRfaHZtKSAmJgorICAgICAgICAo bGlieGxfZGVmYm9vbF92YWwoZF9jb25maWctPmJfaW5mby5uZXN0ZWRfaHZtKSAmJgogICAgICAg ICAobGlieGxfZGVmYm9vbF92YWwoZF9jb25maWctPmJfaW5mby51Lmh2bS5hbHRwMm0pIHx8CiAg ICAgICAgIChkX2NvbmZpZy0+Yl9pbmZvLmFsdHAybSAhPSBMSUJYTF9BTFRQMk1fTU9ERV9ESVNB QkxFRCkpKSkgewogICAgICAgICByZXQgPSBFUlJPUl9JTlZBTDsKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKaW5kZXggZjU0ZmQ0 OWE3My4uMzMyMTNkYjM4OCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKKysr IGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKQEAgLTE5MCw3ICsxOTAsNyBAQCBzdGF0aWMgaW50 IG51bWFfcGxhY2VfZG9tYWluKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogCiBzdGF0 aWMgdW5zaWduZWQgbG9uZyB0aW1lcl9tb2RlKGNvbnN0IGxpYnhsX2RvbWFpbl9idWlsZF9pbmZv ICppbmZvKQogewotICAgIGNvbnN0IGxpYnhsX3RpbWVyX21vZGUgbW9kZSA9IGluZm8tPnUuaHZt LnRpbWVyX21vZGU7CisgICAgY29uc3QgbGlieGxfdGltZXJfbW9kZSBtb2RlID0gaW5mby0+dGlt ZXJfbW9kZTsKICAgICBhc3NlcnQobW9kZSA+PSBMSUJYTF9USU1FUl9NT0RFX0RFTEFZX0ZPUl9N SVNTRURfVElDS1MgJiYKICAgICAgICAgICAgbW9kZSA8PSBMSUJYTF9USU1FUl9NT0RFX09ORV9N SVNTRURfVElDS19QRU5ESU5HKTsKICAgICByZXR1cm4gKCh1bnNpZ25lZCBsb25nKW1vZGUpOwpA QCAtMzA1LDcgKzMwNSw3IEBAIHN0YXRpYyB2b2lkIGh2bV9zZXRfY29uZl9wYXJhbXMoeGNfaW50 ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLAogICAgIHhjX2h2bV9wYXJhbV9zZXQoaGFu ZGxlLCBkb21pZCwgSFZNX1BBUkFNX1ZQVF9BTElHTiwKICAgICAgICAgICAgICAgICAgICAgbGli eGxfZGVmYm9vbF92YWwoaW5mby0+dS5odm0udnB0X2FsaWduKSk7CiAgICAgeGNfaHZtX3BhcmFt X3NldChoYW5kbGUsIGRvbWlkLCBIVk1fUEFSQU1fTkVTVEVESFZNLAotICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9kZWZib29sX3ZhbChpbmZvLT51Lmh2bS5uZXN0ZWRfaHZtKSk7CisgICAgICAg ICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdmFsKGluZm8tPm5lc3RlZF9odm0pKTsKIH0KIAog aW50IGxpYnhsX19idWlsZF9wcmUobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCkBAIC04 MzMsNyArODMzLDcgQEAgc3RhdGljIGludCBodm1fYnVpbGRfc2V0X3BhcmFtcyh4Y19pbnRlcmZh Y2UgKmhhbmRsZSwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICByZXR1cm4gRVJST1JfRkFJ TDsKIAogICAgICAgICB2YV9odm0gPSAoc3RydWN0IGh2bV9pbmZvX3RhYmxlICopKHZhX21hcCAr IEhWTV9JTkZPX09GRlNFVCk7Ci0gICAgICAgIHZhX2h2bS0+YXBpY19tb2RlID0gbGlieGxfZGVm Ym9vbF92YWwoaW5mby0+dS5odm0uYXBpYyk7CisgICAgICAgIHZhX2h2bS0+YXBpY19tb2RlID0g bGlieGxfZGVmYm9vbF92YWwoaW5mby0+YXBpYyk7CiAgICAgICAgIHZhX2h2bS0+bnJfdmNwdXMg PSBpbmZvLT5tYXhfdmNwdXM7CiAgICAgICAgIG1lbXNldCh2YV9odm0tPnZjcHVfb25saW5lLCAw LCBzaXplb2YodmFfaHZtLT52Y3B1X29ubGluZSkpOwogICAgICAgICBtZW1jcHkodmFfaHZtLT52 Y3B1X29ubGluZSwgaW5mby0+YXZhaWxfdmNwdXMubWFwLCBpbmZvLT5hdmFpbF92Y3B1cy5zaXpl KTsKQEAgLTExMTgsNyArMTExOCw3IEBAIGludCBsaWJ4bF9fYnVpbGRfaHZtKGxpYnhsX19nYyAq Z2MsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICBkb20tPm1taW9fc2l6ZSA9IEhWTV9CRUxPV180 R19NTUlPX0xFTkdUSDsKICAgICBlbHNlIGlmIChkb20tPm1taW9fc2l6ZSA9PSAwICYmICFkZXZp Y2VfbW9kZWwpIHsKICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18p Ci0gICAgICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbChpbmZvLT51Lmh2bS5hcGljKSkgeworICAg ICAgICBpZiAobGlieGxfZGVmYm9vbF92YWwoaW5mby0+YXBpYykpIHsKICAgICAgICAgICAgIC8q IE1ha2Ugc3VyZSBMQVBJQ19CQVNFX0FERFJFU1MgaXMgYmVsb3cgc3BlY2lhbCBwYWdlcyAqLwog ICAgICAgICAgICAgYXNzZXJ0KCgoKChYODZfSFZNX0VORF9TUEVDSUFMX1JFR0lPTiAtIFg4Nl9I Vk1fTlJfU1BFQ0lBTF9QQUdFUykKICAgICAgICAgICAgICAgICAgICAgICA8PCBYQ19QQUdFX1NI SUZUKSAtIExBUElDX0JBU0VfQUREUkVTUykpID49IFhDX1BBR0VfU0laRSk7CmRpZmYgLS1naXQg YS90b29scy9saWJ4bC9saWJ4bF94ODYuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCmluZGV4 IDQ1NWY2ZjBiZWQuLjQ0Mjg1NGM1YzIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4 Ni5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCkBAIC0xMiw3ICsxMiw3IEBAIGludCBs aWJ4bF9fYXJjaF9kb21haW5fcHJlcGFyZV9jb25maWcobGlieGxfX2djICpnYywKICAgICAgICAg aWYgKGRfY29uZmlnLT5iX2luZm8uZGV2aWNlX21vZGVsX3ZlcnNpb24gIT0KICAgICAgICAgICAg IExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX05PTkUpIHsKICAgICAgICAgICAgIHhjX2NvbmZp Zy0+ZW11bGF0aW9uX2ZsYWdzID0gWEVOX1g4Nl9FTVVfQUxMOwotICAgICAgICB9IGVsc2UgaWYg KGxpYnhsX2RlZmJvb2xfdmFsKGRfY29uZmlnLT5iX2luZm8udS5odm0uYXBpYykpIHsKKyAgICAg ICAgfSBlbHNlIGlmIChsaWJ4bF9kZWZib29sX3ZhbChkX2NvbmZpZy0+Yl9pbmZvLmFwaWMpKSB7 CiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogSFZNIGd1ZXN0cyB3aXRob3V0IGRldmlj ZSBtb2RlbCBtYXkgd2FudAogICAgICAgICAgICAgICogdG8gaGF2ZSBMQVBJQyBlbXVsYXRpb24u CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF94ODZfYWNwaS5jIGIvdG9vbHMvbGlieGwv bGlieGxfeDg2X2FjcGkuYwppbmRleCAxNzYxNzU2NzZmLi45MzUwNDAyMzA4IDEwMDY0NAotLS0g YS90b29scy9saWJ4bC9saWJ4bF94ODZfYWNwaS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3g4 Nl9hY3BpLmMKQEAgLTExMiw3ICsxMTIsNyBAQCBzdGF0aWMgaW50IGluaXRfYWNwaV9jb25maWco bGlieGxfX2djICpnYywKIAogICAgIGh2bWluZm8gPSBsaWJ4bF9femFsbG9jKGdjLCBzaXplb2Yo Kmh2bWluZm8pKTsKIAotICAgIGh2bWluZm8tPmFwaWNfbW9kZSA9IGxpYnhsX2RlZmJvb2xfdmFs KGJfaW5mby0+dS5odm0uYXBpYyk7CisgICAgaHZtaW5mby0+YXBpY19tb2RlID0gbGlieGxfZGVm Ym9vbF92YWwoYl9pbmZvLT5hcGljKTsKIAogICAgIGlmIChkb20tPm5yX3Zub2RlcykgewogICAg ICAgICB1bnNpZ25lZCBpbnQgKnZjcHVfdG9fdm5vZGUsICp2ZGlzdGFuY2U7CmRpZmYgLS1naXQg YS90b29scy94bC94bF9wYXJzZS5jIGIvdG9vbHMveGwveGxfcGFyc2UuYwppbmRleCAwMmRkZDJl OTBkLi42MWY5YTM4NTczIDEwMDY0NAotLS0gYS90b29scy94bC94bF9wYXJzZS5jCisrKyBiL3Rv b2xzL3hsL3hsX3BhcnNlLmMKQEAgLTEwMzcsNiArMTAzNyw2NSBAQCB2b2lkIHBhcnNlX2NvbmZp Z19kYXRhKGNvbnN0IGNoYXIgKmNvbmZpZ19zb3VyY2UsCiAgICAgeGx1X2NmZ19nZXRfZGVmYm9v bChjb25maWcsICJkcml2ZXJfZG9tYWluIiwgJmNfaW5mby0+ZHJpdmVyX2RvbWFpbiwgMCk7CiAg ICAgeGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJhY3BpIiwgJmJfaW5mby0+YWNwaSwgMCk7 CiAKKyAgICB4bHVfY2ZnX3JlcGxhY2Vfc3RyaW5nIChjb25maWcsICJib290bG9hZGVyIiwgJmJf aW5mby0+Ym9vdGxvYWRlciwgMCk7CisgICAgc3dpdGNoICh4bHVfY2ZnX2dldF9saXN0X2FzX3N0 cmluZ19saXN0KGNvbmZpZywgImJvb3Rsb2FkZXJfYXJncyIsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZiX2luZm8tPmJvb3Rsb2FkZXJfYXJncywgMSkpIHsK KyAgICBjYXNlIDA6CisgICAgICAgIGJyZWFrOyAvKiBTdWNjZXNzICovCisgICAgY2FzZSBFU1JD SDogYnJlYWs7IC8qIE9wdGlvbiBub3QgcHJlc2VudCAqLworICAgIGNhc2UgRUlOVkFMOgorICAg ICAgICBpZiAoIXhsdV9jZmdfZ2V0X3N0cmluZyhjb25maWcsICJib290bG9hZGVyX2FyZ3MiLCAm YnVmLCAwKSkgeworCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIldBUk5JTkc6IFNwZWNp ZnlpbmcgXCJib290bG9hZGVyX2FyZ3NcIiIKKyAgICAgICAgICAgICAgICAgICAgIiBhcyBhIHN0 cmluZyBpcyBkZXByZWNhdGVkLiAiCisgICAgICAgICAgICAgICAgICAgICJQbGVhc2UgdXNlIGEg bGlzdCBvZiBhcmd1bWVudHMuXG4iKTsKKyAgICAgICAgICAgIHNwbGl0X3N0cmluZ19pbnRvX3N0 cmluZ19saXN0KGJ1ZiwgIiBcdFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZiX2luZm8tPmJvb3Rsb2FkZXJfYXJncyk7CisgICAgICAgIH0KKyAgICAgICAg YnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgZnByaW50ZihzdGRlcnIsInhsOiBVbmFibGUg dG8gcGFyc2UgYm9vdGxvYWRlcl9hcmdzLlxuIik7CisgICAgICAgIGV4aXQoLUVSUk9SX0ZBSUwp OworICAgIH0KKworICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyhjb25maWcsICJ0aW1lcl9tb2Rl IiwgJmwsIDEpKSB7CisgICAgICAgIGNvbnN0IGNoYXIgKnMgPSBsaWJ4bF90aW1lcl9tb2RlX3Rv X3N0cmluZyhsKTsKKworICAgICAgICBpZiAoYl9pbmZvLT50eXBlID09IExJQlhMX0RPTUFJTl9U WVBFX1BWKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwKKyAgICAgICAgICAgICAgICAg ICAgInhsOiBcInRpbWVyX21vZGVcIiBvcHRpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgUFYgZ3Vl c3RzLlxuIik7CisgICAgICAgICAgICBleGl0KC1FUlJPUl9GQUlMKTsKKyAgICAgICAgfQorCisg ICAgICAgIGZwcmludGYoc3RkZXJyLCAiV0FSTklORzogc3BlY2lmeWluZyBcInRpbWVyX21vZGVc IiBhcyBhbiBpbnRlZ2VyIGlzIGRlcHJlY2F0ZWQuICIKKyAgICAgICAgICAgICAgICAiUGxlYXNl IHVzZSB0aGUgbmFtZWQgcGFyYW1ldGVyIHZhcmlhbnQuICVzJXMlc1xuIiwKKyAgICAgICAgICAg ICAgICBzID8gImUuZy4gdGltZXJfbW9kZT1cIiIgOiAiIiwKKyAgICAgICAgICAgICAgICBzID8g cyA6ICIiLAorICAgICAgICAgICAgICAgIHMgPyAiXCIiIDogIiIpOworCisgICAgICAgIGlmIChs IDwgTElCWExfVElNRVJfTU9ERV9ERUxBWV9GT1JfTUlTU0VEX1RJQ0tTIHx8CisgICAgICAgICAg ICBsID4gTElCWExfVElNRVJfTU9ERV9PTkVfTUlTU0VEX1RJQ0tfUEVORElORykgeworICAgICAg ICAgICAgZnByaW50ZihzdGRlcnIsICJFUlJPUjogaW52YWxpZCB2YWx1ZSAlbGQgZm9yIFwidGlt ZXJfbW9kZVwiXG4iLCBsKTsKKyAgICAgICAgICAgIGV4aXQgKDEpOworICAgICAgICB9CisgICAg ICAgIGJfaW5mby0+dGltZXJfbW9kZSA9IGw7CisgICAgfSBlbHNlIGlmICgheGx1X2NmZ19nZXRf c3RyaW5nKGNvbmZpZywgInRpbWVyX21vZGUiLCAmYnVmLCAwKSkgeworICAgICAgICBpZiAoYl9p bmZvLT50eXBlID09IExJQlhMX0RPTUFJTl9UWVBFX1BWKSB7CisgICAgICAgICAgICBmcHJpbnRm KHN0ZGVyciwKKyAgICAgICAgICAgICAgICAgICAgInhsOiBcInRpbWVyX21vZGVcIiBvcHRpb24g aXMgbm90IHN1cHBvcnRlZCBmb3IgUFYgZ3Vlc3RzLlxuIik7CisgICAgICAgICAgICBleGl0KC1F UlJPUl9GQUlMKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChsaWJ4bF90aW1lcl9tb2RlX2Zy b21fc3RyaW5nKGJ1ZiwgJmJfaW5mby0+dGltZXJfbW9kZSkpIHsKKyAgICAgICAgICAgIGZwcmlu dGYoc3RkZXJyLCAiRVJST1I6IGludmFsaWQgdmFsdWUgXCIlc1wiIGZvciBcInRpbWVyX21vZGVc IlxuIiwKKyAgICAgICAgICAgICAgICAgICAgYnVmKTsKKyAgICAgICAgICAgIGV4aXQgKDEpOwor ICAgICAgICB9CisgICAgfQorCisgICAgeGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJuZXN0 ZWRodm0iLCAmYl9pbmZvLT5uZXN0ZWRfaHZtLCAwKTsKKyAgICB4bHVfY2ZnX2dldF9kZWZib29s KGNvbmZpZywgImFwaWMiLCAmYl9pbmZvLT5hcGljLCAwKTsKKwogICAgIHN3aXRjaChiX2luZm8t PnR5cGUpIHsKICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0hWTToKICAgICAgICAga2VybmVs X2Jhc2VuYW1lID0gbGlieGxfYmFzZW5hbWUoYl9pbmZvLT5rZXJuZWwpOwpAQCAtMTA2NCw3ICsx MTIzLDYgQEAgdm9pZCBwYXJzZV9jb25maWdfZGF0YShjb25zdCBjaGFyICpjb25maWdfc291cmNl LAogICAgICAgICAgICAgICAgICAgICAiYmlvc19wYXRoX292ZXJyaWRlIGdpdmVuIHdpdGhvdXQg c3BlY2lmaWMgYmlvcyBuYW1lXG4iKTsKIAogICAgICAgICB4bHVfY2ZnX2dldF9kZWZib29sKGNv bmZpZywgInBhZSIsICZiX2luZm8tPnUuaHZtLnBhZSwgMCk7Ci0gICAgICAgIHhsdV9jZmdfZ2V0 X2RlZmJvb2woY29uZmlnLCAiYXBpYyIsICZiX2luZm8tPnUuaHZtLmFwaWMsIDApOwogICAgICAg ICB4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgImFjcGlfczMiLCAmYl9pbmZvLT51Lmh2bS5h Y3BpX3MzLCAwKTsKICAgICAgICAgeGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJhY3BpX3M0 IiwgJmJfaW5mby0+dS5odm0uYWNwaV9zNCwgMCk7CiAgICAgICAgIHhsdV9jZmdfZ2V0X2RlZmJv b2woY29uZmlnLCAiYWNwaV9sYXB0b3Bfc2xhdGUiLCAmYl9pbmZvLT51Lmh2bS5hY3BpX2xhcHRv cF9zbGF0ZSwgMCk7CkBAIC0xMTM0LDI5ICsxMTkyLDYgQEAgdm9pZCBwYXJzZV9jb25maWdfZGF0 YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogICAgICAgICAgICAgICAgIGV4aXQgKDEpOwog ICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyhj b25maWcsICJ0aW1lcl9tb2RlIiwgJmwsIDEpKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpz ID0gbGlieGxfdGltZXJfbW9kZV90b19zdHJpbmcobCk7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0 ZGVyciwgIldBUk5JTkc6IHNwZWNpZnlpbmcgXCJ0aW1lcl9tb2RlXCIgYXMgYW4gaW50ZWdlciBp cyBkZXByZWNhdGVkLiAiCi0gICAgICAgICAgICAgICAgICAgICJQbGVhc2UgdXNlIHRoZSBuYW1l ZCBwYXJhbWV0ZXIgdmFyaWFudC4gJXMlcyVzXG4iLAotICAgICAgICAgICAgICAgICAgICBzID8g ImUuZy4gdGltZXJfbW9kZT1cIiIgOiAiIiwKLSAgICAgICAgICAgICAgICAgICAgcyA/IHMgOiAi IiwKLSAgICAgICAgICAgICAgICAgICAgcyA/ICJcIiIgOiAiIik7Ci0KLSAgICAgICAgICAgIGlm IChsIDwgTElCWExfVElNRVJfTU9ERV9ERUxBWV9GT1JfTUlTU0VEX1RJQ0tTIHx8Ci0gICAgICAg ICAgICAgICAgbCA+IExJQlhMX1RJTUVSX01PREVfT05FX01JU1NFRF9USUNLX1BFTkRJTkcpIHsK LSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVSUk9SOiBpbnZhbGlkIHZhbHVlICVs ZCBmb3IgXCJ0aW1lcl9tb2RlXCJcbiIsIGwpOwotICAgICAgICAgICAgICAgIGV4aXQgKDEpOwot ICAgICAgICAgICAgfQotICAgICAgICAgICAgYl9pbmZvLT51Lmh2bS50aW1lcl9tb2RlID0gbDsK LSAgICAgICAgfSBlbHNlIGlmICgheGx1X2NmZ19nZXRfc3RyaW5nKGNvbmZpZywgInRpbWVyX21v ZGUiLCAmYnVmLCAwKSkgewotICAgICAgICAgICAgaWYgKGxpYnhsX3RpbWVyX21vZGVfZnJvbV9z dHJpbmcoYnVmLCAmYl9pbmZvLT51Lmh2bS50aW1lcl9tb2RlKSkgewotICAgICAgICAgICAgICAg IGZwcmludGYoc3RkZXJyLCAiRVJST1I6IGludmFsaWQgdmFsdWUgXCIlc1wiIGZvciBcInRpbWVy X21vZGVcIlxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zik7Ci0gICAgICAgICAgICAg ICAgZXhpdCAoMSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICB4bHVfY2Zn X2dldF9kZWZib29sKGNvbmZpZywgIm5lc3RlZGh2bSIsICZiX2luZm8tPnUuaHZtLm5lc3RlZF9o dm0sIDApOwogCiAgICAgICAgIGlmICgheGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJhbHRw Mm1odm0iLCAmYl9pbmZvLT51Lmh2bS5hbHRwMm0sIDApKQogICAgICAgICAgICAgZnByaW50Zihz dGRlcnIsICJXQVJOSU5HOiBTcGVjaWZ5aW5nIFwiYWx0cDJtaHZtXCIgaXMgZGVwcmVjYXRlZC4g IgpAQCAtMTIxMiwyOSArMTI0Nyw3IEBAIHZvaWQgcGFyc2VfY29uZmlnX2RhdGEoY29uc3QgY2hh ciAqY29uZmlnX3NvdXJjZSwKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBMSUJYTF9ET01BSU5f VFlQRV9QVjoKICAgICB7Ci0gICAgICAgIHhsdV9jZmdfcmVwbGFjZV9zdHJpbmcgKGNvbmZpZywg ImJvb3Rsb2FkZXIiLCAmYl9pbmZvLT51LnB2LmJvb3Rsb2FkZXIsIDApOwotICAgICAgICBzd2l0 Y2ggKHhsdV9jZmdfZ2V0X2xpc3RfYXNfc3RyaW5nX2xpc3QoY29uZmlnLCAiYm9vdGxvYWRlcl9h cmdzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJfaW5mby0+dS5w di5ib290bG9hZGVyX2FyZ3MsIDEpKQotICAgICAgICB7Ci0KLSAgICAgICAgY2FzZSAwOiBicmVh azsgLyogU3VjY2VzcyAqLwotICAgICAgICBjYXNlIEVTUkNIOiBicmVhazsgLyogT3B0aW9uIG5v dCBwcmVzZW50ICovCi0gICAgICAgIGNhc2UgRUlOVkFMOgotICAgICAgICAgICAgaWYgKCF4bHVf Y2ZnX2dldF9zdHJpbmcoY29uZmlnLCAiYm9vdGxvYWRlcl9hcmdzIiwgJmJ1ZiwgMCkpIHsKLQot ICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiV0FSTklORzogU3BlY2lmeWluZyBcImJv b3Rsb2FkZXJfYXJnc1wiIgotICAgICAgICAgICAgICAgICAgICAgICAgIiBhcyBhIHN0cmluZyBp cyBkZXByZWNhdGVkLiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAiUGxlYXNlIHVzZSBhIGxp c3Qgb2YgYXJndW1lbnRzLlxuIik7Ci0gICAgICAgICAgICAgICAgc3BsaXRfc3RyaW5nX2ludG9f c3RyaW5nX2xpc3QoYnVmLCAiIFx0XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZiX2luZm8tPnUucHYuYm9vdGxvYWRlcl9hcmdzKTsKLSAgICAgICAg ICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg ZnByaW50ZihzdGRlcnIsInhsOiBVbmFibGUgdG8gcGFyc2UgYm9vdGxvYWRlcl9hcmdzLlxuIik7 Ci0gICAgICAgICAgICBleGl0KC1FUlJPUl9GQUlMKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlm ICghYl9pbmZvLT51LnB2LmJvb3Rsb2FkZXIgJiYgIWJfaW5mby0+a2VybmVsKSB7CisgICAgICAg IGlmICghYl9pbmZvLT5ib290bG9hZGVyICYmICFiX2luZm8tPmtlcm5lbCkgewogICAgICAgICAg ICAgZnByaW50ZihzdGRlcnIsICJOZWl0aGVyIGtlcm5lbCBub3IgYm9vdGxvYWRlciBzcGVjaWZp ZWRcbiIpOwogICAgICAgICAgICAgZXhpdCgxKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvdG9v bHMveGwveGxfc3hwLmMgYi90b29scy94bC94bF9zeHAuYwppbmRleCBlNzM4YmYyNDY1Li40ODc1 ODI0MGU2IDEwMDY0NAotLS0gYS90b29scy94bC94bF9zeHAuYworKysgYi90b29scy94bC94bF9z eHAuYwpAQCAtNzAsMTIgKzcwLDEyIEBAIHZvaWQgcHJpbnRmX2luZm9fc2V4cChpbnQgZG9taWQs IGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLCBGSUxFICpmaCkKICAgICBmcHJpbnRmKGZo LCAiXHQobm9taWdyYXRlICVzKVxuIiwKICAgICAgICAgICAgbGlieGxfZGVmYm9vbF90b19zdHJp bmcoYl9pbmZvLT5kaXNhYmxlX21pZ3JhdGUpKTsKIAotICAgIGlmIChjX2luZm8tPnR5cGUgPT0g TElCWExfRE9NQUlOX1RZUEVfUFYgJiYgYl9pbmZvLT51LnB2LmJvb3Rsb2FkZXIpIHsKLSAgICAg ICAgZnByaW50ZihmaCwgIlx0KGJvb3Rsb2FkZXIgJXMpXG4iLCBiX2luZm8tPnUucHYuYm9vdGxv YWRlcik7Ci0gICAgICAgIGlmIChiX2luZm8tPnUucHYuYm9vdGxvYWRlcl9hcmdzKSB7CisgICAg aWYgKGNfaW5mby0+dHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9QViAmJiBiX2luZm8tPmJvb3Rs b2FkZXIpIHsKKyAgICAgICAgZnByaW50ZihmaCwgIlx0KGJvb3Rsb2FkZXIgJXMpXG4iLCBiX2lu Zm8tPmJvb3Rsb2FkZXIpOworICAgICAgICBpZiAoYl9pbmZvLT5ib290bG9hZGVyX2FyZ3MpIHsK ICAgICAgICAgICAgIGZwcmludGYoZmgsICJcdChib290bG9hZGVyX2FyZ3MiKTsKLSAgICAgICAg ICAgIGZvciAoaT0wOyBiX2luZm8tPnUucHYuYm9vdGxvYWRlcl9hcmdzW2ldOyBpKyspCi0gICAg ICAgICAgICAgICAgZnByaW50ZihmaCwgIiAlcyIsIGJfaW5mby0+dS5wdi5ib290bG9hZGVyX2Fy Z3NbaV0pOworICAgICAgICAgICAgZm9yIChpPTA7IGJfaW5mby0+Ym9vdGxvYWRlcl9hcmdzW2ld OyBpKyspCisgICAgICAgICAgICAgICAgZnByaW50ZihmaCwgIiAlcyIsIGJfaW5mby0+Ym9vdGxv YWRlcl9hcmdzW2ldKTsKICAgICAgICAgICAgIGZwcmludGYoZmgsICIpXG4iKTsKICAgICAgICAg fQogICAgIH0KQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBwcmludGZfaW5mb19zZXhwKGludCBkb21p ZCwgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25maWcsIEZJTEUgKmZoKQogICAgICAgICBmcHJp bnRmKGZoLCAiXHRcdFx0KHNoYWRvd19tZW1rYiAlIlBSSWQ2NCIpXG4iLCBiX2luZm8tPnNoYWRv d19tZW1rYik7CiAgICAgICAgIGZwcmludGYoZmgsICJcdFx0XHQocGFlICVzKVxuIiwgbGlieGxf ZGVmYm9vbF90b19zdHJpbmcoYl9pbmZvLT51Lmh2bS5wYWUpKTsKICAgICAgICAgZnByaW50Zihm aCwgIlx0XHRcdChhcGljICVzKVxuIiwKLSAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdG9f c3RyaW5nKGJfaW5mby0+dS5odm0uYXBpYykpOworICAgICAgICAgICAgICAgbGlieGxfZGVmYm9v bF90b19zdHJpbmcoYl9pbmZvLT5hcGljKSk7CiAgICAgICAgIGZwcmludGYoZmgsICJcdFx0XHQo YWNwaSAlcylcbiIsCiAgICAgICAgICAgICAgICBsaWJ4bF9kZWZib29sX3RvX3N0cmluZyhiX2lu Zm8tPnUuaHZtLmFjcGkpKTsKICAgICAgICAgZnByaW50ZihmaCwgIlx0XHRcdChueCAlcylcbiIs IGxpYnhsX2RlZmJvb2xfdG9fc3RyaW5nKGJfaW5mby0+dS5odm0ubngpKTsKQEAgLTEwMCw5ICsx MDAsOSBAQCB2b2lkIHByaW50Zl9pbmZvX3NleHAoaW50IGRvbWlkLCBsaWJ4bF9kb21haW5fY29u ZmlnICpkX2NvbmZpZywgRklMRSAqZmgpCiAgICAgICAgIGZwcmludGYoZmgsICJcdFx0XHQodnB0 X2FsaWduICVzKVxuIiwKICAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdG9fc3RyaW5nKGJf aW5mby0+dS5odm0udnB0X2FsaWduKSk7CiAgICAgICAgIGZwcmludGYoZmgsICJcdFx0XHQodGlt ZXJfbW9kZSAlcylcbiIsCi0gICAgICAgICAgICAgICBsaWJ4bF90aW1lcl9tb2RlX3RvX3N0cmlu ZyhiX2luZm8tPnUuaHZtLnRpbWVyX21vZGUpKTsKKyAgICAgICAgICAgICAgIGxpYnhsX3RpbWVy X21vZGVfdG9fc3RyaW5nKGJfaW5mby0+dGltZXJfbW9kZSkpOwogICAgICAgICBmcHJpbnRmKGZo LCAiXHRcdFx0KG5lc3RlZGh2bSAlcylcbiIsCi0gICAgICAgICAgICAgICBsaWJ4bF9kZWZib29s X3RvX3N0cmluZyhiX2luZm8tPnUuaHZtLm5lc3RlZF9odm0pKTsKKyAgICAgICAgICAgICAgIGxp YnhsX2RlZmJvb2xfdG9fc3RyaW5nKGJfaW5mby0+bmVzdGVkX2h2bSkpOwogICAgICAgICBmcHJp bnRmKGZoLCAiXHRcdFx0KHN0ZHZnYSAlcylcbiIsIGJfaW5mby0+dS5odm0udmdhLmtpbmQgPT0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfVkdBX0lOVEVSRkFD RV9UWVBFX1NURCA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUcnVl IiA6ICJGYWxzZSIpOwotLSAKMi4xMS4wIChBcHBsZSBHaXQtODEpCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==