From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v3] libxl: memory size in kb requires 64 bit variable Date: Thu, 28 Jul 2016 15:35:19 +0200 Message-ID: <1469712919-11481-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Juergen Gross , wei.liu2@citrix.com, ian.jackson@eu.citrix.com List-Id: xen-devel@lists.xenproject.org bGlieGxfc2V0X21lbW9yeV90YXJnZXQoKSBhbmQgc2V2ZXJhbCBvdGhlciBpbnRlcmZhY2UgZnVu Y3Rpb25zIG9mCmxpYnhsIHVzZSBhIDMyIGJpdCBzaXplZCBwYXJhbWV0ZXIgZm9yIGEgbWVtb3J5 IHNpemUgdmFsdWUgaW4ga0J5dGVzLgpUaGlzIGxpbWl0cyB0aGUgbWF4aW11bSBzaXplIHRvIGJl IHBhc3NlZCBpbiBzdWNoIGEgcGFyYW1ldGVyCmRlcGVuZGluZyBvbiBzaWduZWRuZXNzIG9mIHRo ZSBwYXJhbWV0ZXIgdG8gMlRCIG9yIDRUQi4KCkNvcnJlY3QgdGhpcyBieSB1c2luZyA2NCBiaXQg dHlwZXMuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ClJl dmlld2VkLWJ5OiBEYXJpbyBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KLS0t ClYzOiAtIHJlbmFtZSBsaWJ4bF9fbWVta2JfMzJ0bzY0IHRvIGxpYnhsX19tZW1rYl82NHRvMzIg YXMgc3VnZ2VzdGVkIGJ5CiAgICAgIERhcmlvIEZhZ2dpb2xpClYyOiAtIG1vdmUgY29tcGF0aWJp bGl0eSBmdW5jdGlvbnMgdG8gbGlieGwuYyBhcyByZXF1ZXN0ZWQgYnkKICAgICAgSWFuIEphY2tz b24KICAgIC0gYWRkIGEgY29tbW9uIHNlcnZpY2UgZnVuY3Rpb24gdG8gY2hlY2sgZm9yIHZhbHVl IHRvIGZpdCBpbnRvCiAgICAgIDMyIGJpdCB2YXJpYWJsZSBhcyByZXF1ZXN0ZWQgYnkgSWFuIEph Y2tzb24KLS0tCiB0b29scy9saWJ4bC9saWJ4bC5jICAgICAgICAgIHwgMTIyICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsLmggICAg ICAgICAgfCAgMzkgKysrKysrKysrKystLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAg fCAgIDQgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgIDQgKy0KIHRvb2xzL2xp YnhsL2xpYnhsX251bWEuYyAgICAgfCAgIDYgKy0tCiB0b29scy9saWJ4bC94bF9jbWRpbXBsLmMg ICAgIHwgICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDEyNiBpbnNlcnRpb25zKCspLCA1MSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwv bGlieGwuYwppbmRleCA3NjBlYmNhLi5kZThmMDU4IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKQEAgLTM5OTMsMTEgKzM5OTMsMTEgQEAg b3V0OgogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi1pbnQgbGlieGxfZG9tYWluX3NldG1h eG1lbShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIHVpbnQzMl90IG1heF9tZW1rYikK K2ludCBsaWJ4bF9kb21haW5fc2V0bWF4bWVtKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21p ZCwgdWludDY0X3QgbWF4X21lbWtiKQogewogICAgIEdDX0lOSVQoY3R4KTsKICAgICBjaGFyICpt ZW0sICplbmRwdHI7Ci0gICAgdWludDMyX3QgbWVtb3J5a2I7CisgICAgdWludDY0X3QgbWVtb3J5 a2I7CiAgICAgY2hhciAqZG9tcGF0aCA9IGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgZG9taWQp OwogICAgIGludCByYyA9IDE7CiAgICAgbGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrICpsb2Nr ID0gTlVMTDsKQEAgLTQwMTUsNyArNDAxNSw3IEBAIGludCBsaWJ4bF9kb21haW5fc2V0bWF4bWVt KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgdWludDMyX3QgbWF4X21lbWtiKQogICAg ICAgICBMT0dFKEVSUk9SLCAiY2Fubm90IGdldCBtZW1vcnkgaW5mbyBmcm9tICVzL21lbW9yeS90 YXJnZXQiLCBkb21wYXRoKTsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQotICAgIG1lbW9yeWti ID0gc3RydG91bChtZW0sICZlbmRwdHIsIDEwKTsKKyAgICBtZW1vcnlrYiA9IHN0cnRvdWxsKG1l bSwgJmVuZHB0ciwgMTApOwogICAgIGlmICgqZW5kcHRyICE9ICdcMCcpIHsKICAgICAgICAgTE9H RShFUlJPUiwgImludmFsaWQgbWVtb3J5ICVzIGZyb20gJXMvbWVtb3J5L3RhcmdldFxuIiwgbWVt LCBkb21wYXRoKTsKICAgICAgICAgZ290byBvdXQ7CkBAIC00MDI4LDcgKzQwMjgsOCBAQCBpbnQg bGlieGxfZG9tYWluX3NldG1heG1lbShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIHVp bnQzMl90IG1heF9tZW1rYikKICAgICB9CiAgICAgcmMgPSB4Y19kb21haW5fc2V0bWF4bWVtKGN0 eC0+eGNoLCBkb21pZCwgbWF4X21lbWtiICsgTElCWExfTUFYTUVNX0NPTlNUQU5UKTsKICAgICBp ZiAocmMgIT0gMCkgewotICAgICAgICBMT0dFKEVSUk9SLCAieGNfZG9tYWluX3NldG1heG1lbSBk b21pZD0lZCBtZW1rYj0lZCBmYWlsZWQgIiJyYz0lZFxuIiwKKyAgICAgICAgTE9HRShFUlJPUiwK KyAgICAgICAgICAgICAieGNfZG9tYWluX3NldG1heG1lbSBkb21pZD0lZCBtZW1rYj0lIlBSSXU2 NCIgZmFpbGVkICIicmM9JWRcbiIsCiAgICAgICAgICAgICAgZG9taWQsIG1heF9tZW1rYiArIExJ QlhMX01BWE1FTV9DT05TVEFOVCwgcmMpOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CkBAIC00 MDQxLDggKzQwNDIsOCBAQCBvdXQ6CiAgICAgcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgaW50IGxp YnhsX19maWxsX2RvbTBfbWVtb3J5X2luZm8obGlieGxfX2djICpnYywgdWludDMyX3QgKnRhcmdl dF9tZW1rYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCAqbWF4X21lbWtiKQorc3RhdGljIGludCBsaWJ4bF9fZmlsbF9kb20wX21lbW9yeV9pbmZvKGxp YnhsX19nYyAqZ2MsIHVpbnQ2NF90ICp0YXJnZXRfbWVta2IsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKm1heF9tZW1rYikKIHsKICAgICBpbnQgcmM7 CiAgICAgbGlieGxfZG9taW5mbyBpbmZvOwpAQCAtNDA2Niw3ICs0MDY3LDcgQEAgcmV0cnlfdHJh bnNhY3Rpb246CiAgICAgfQogCiAgICAgaWYgKHRhcmdldCkgewotICAgICAgICAqdGFyZ2V0X21l bWtiID0gc3RydG91bCh0YXJnZXQsICZlbmRwdHIsIDEwKTsKKyAgICAgICAgKnRhcmdldF9tZW1r YiA9IHN0cnRvdWxsKHRhcmdldCwgJmVuZHB0ciwgMTApOwogICAgICAgICBpZiAoKmVuZHB0ciAh PSAnXDAnKSB7CiAgICAgICAgICAgICBMT0dFKEVSUk9SLCAiaW52YWxpZCBtZW1vcnkgdGFyZ2V0 ICVzIGZyb20gJXNcbiIsIHRhcmdldCwKICAgICAgICAgICAgICAgICAgdGFyZ2V0X3BhdGgpOwpA QCAtNDA3Niw3ICs0MDc3LDcgQEAgcmV0cnlfdHJhbnNhY3Rpb246CiAgICAgfQogCiAgICAgaWYg KHN0YXRpY21heCkgewotICAgICAgICAqbWF4X21lbWtiID0gc3RydG91bChzdGF0aWNtYXgsICZl bmRwdHIsIDEwKTsKKyAgICAgICAgKm1heF9tZW1rYiA9IHN0cnRvdWxsKHN0YXRpY21heCwgJmVu ZHB0ciwgMTApOwogICAgICAgICBpZiAoKmVuZHB0ciAhPSAnXDAnKSB7CiAgICAgICAgICAgICBM T0dFKEVSUk9SLCAiaW52YWxpZCBtZW1vcnkgc3RhdGljLW1heCAlcyBmcm9tICVzXG4iLCBzdGF0 aWNtYXgsCiAgICAgICAgICAgICAgICAgIG1heF9wYXRoKTsKQEAgLTQwOTYsMTQgKzQwOTcsMTIg QEAgcmV0cnlfdHJhbnNhY3Rpb246CiAgICAgICAgIGdvdG8gb3V0OwogCiAgICAgaWYgKHRhcmdl dCA9PSBOVUxMKSB7Ci0gICAgICAgIGxpYnhsX194c19wcmludGYoZ2MsIHQsIHRhcmdldF9wYXRo LCAiJSJQUkl1MzIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KSBpbmZvLmN1 cnJlbnRfbWVta2IpOwotICAgICAgICAqdGFyZ2V0X21lbWtiID0gKHVpbnQzMl90KSBpbmZvLmN1 cnJlbnRfbWVta2I7CisgICAgICAgIGxpYnhsX194c19wcmludGYoZ2MsIHQsIHRhcmdldF9wYXRo LCAiJSJQUkl1NjQsIGluZm8uY3VycmVudF9tZW1rYik7CisgICAgICAgICp0YXJnZXRfbWVta2Ig PSBpbmZvLmN1cnJlbnRfbWVta2I7CiAgICAgfQogICAgIGlmIChzdGF0aWNtYXggPT0gTlVMTCkg ewotICAgICAgICBsaWJ4bF9feHNfcHJpbnRmKGdjLCB0LCBtYXhfcGF0aCwgIiUiUFJJdTMyLAot ICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCkgaW5mby5tYXhfbWVta2IpOwotICAg ICAgICAqbWF4X21lbWtiID0gKHVpbnQzMl90KSBpbmZvLm1heF9tZW1rYjsKKyAgICAgICAgbGli eGxfX3hzX3ByaW50ZihnYywgdCwgbWF4X3BhdGgsICIlIlBSSXU2NCwgaW5mby5tYXhfbWVta2Ip OworICAgICAgICAqbWF4X21lbWtiID0gaW5mby5tYXhfbWVta2I7CiAgICAgfQogCiAgICAgcmMg PSAwOwpAQCAtNDEyMSwxNCArNDEyMCwxNCBAQCBvdXQ6CiB9CiAKIGludCBsaWJ4bF9zZXRfbWVt b3J5X3RhcmdldChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCi0gICAgICAgIGludDMy X3QgdGFyZ2V0X21lbWtiLCBpbnQgcmVsYXRpdmUsIGludCBlbmZvcmNlKQorICAgICAgICBpbnQ2 NF90IHRhcmdldF9tZW1rYiwgaW50IHJlbGF0aXZlLCBpbnQgZW5mb3JjZSkKIHsKICAgICBHQ19J TklUKGN0eCk7CiAgICAgaW50IHJjLCByLCBscmMsIGFib3J0X3RyYW5zYWN0aW9uID0gMDsKICAg ICB1aW50NjRfdCBtZW1vcnlrYjsKLSAgICB1aW50MzJfdCB2aWRlb3JhbSA9IDA7Ci0gICAgdWlu dDMyX3QgY3VycmVudF90YXJnZXRfbWVta2IgPSAwLCBuZXdfdGFyZ2V0X21lbWtiID0gMDsKLSAg ICB1aW50MzJfdCBjdXJyZW50X21heF9tZW1rYiA9IDA7CisgICAgdWludDY0X3QgdmlkZW9yYW0g PSAwOworICAgIHVpbnQ2NF90IGN1cnJlbnRfdGFyZ2V0X21lbWtiID0gMCwgbmV3X3RhcmdldF9t ZW1rYiA9IDA7CisgICAgdWludDY0X3QgY3VycmVudF9tYXhfbWVta2IgPSAwOwogICAgIGNoYXIg Km1lbW1heCwgKmVuZHB0ciwgKnZpZGVvcmFtX3MgPSBOVUxMLCAqdGFyZ2V0ID0gTlVMTDsKICAg ICBjaGFyICpkb21wYXRoID0gbGlieGxfX3hzX2dldF9kb21wYXRoKGdjLCBkb21pZCk7CiAgICAg eGNfZG9tYWluaW5mb190IGluZm87CkBAIC00MTY1LDcgKzQxNjQsNyBAQCByZXRyeV90cmFuc2Fj dGlvbjoKICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91dDsKICAgICB9 IGVsc2UgewotICAgICAgICBjdXJyZW50X3RhcmdldF9tZW1rYiA9IHN0cnRvdWwodGFyZ2V0LCAm ZW5kcHRyLCAxMCk7CisgICAgICAgIGN1cnJlbnRfdGFyZ2V0X21lbWtiID0gc3RydG91bGwodGFy Z2V0LCAmZW5kcHRyLCAxMCk7CiAgICAgICAgIGlmICgqZW5kcHRyICE9ICdcMCcpIHsKICAgICAg ICAgICAgIExPR0UoRVJST1IsICJpbnZhbGlkIG1lbW9yeSB0YXJnZXQgJXMgZnJvbSAlcy9tZW1v cnkvdGFyZ2V0XG4iLAogICAgICAgICAgICAgICAgICB0YXJnZXQsIGRvbXBhdGgpOwpAQCAtNDE4 Miw3ICs0MTgxLDcgQEAgcmV0cnlfdHJhbnNhY3Rpb246CiAgICAgICAgIHJjID0gRVJST1JfRkFJ TDsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQotICAgIG1lbW9yeWtiID0gc3RydG91bChtZW1t YXgsICZlbmRwdHIsIDEwKTsKKyAgICBtZW1vcnlrYiA9IHN0cnRvdWxsKG1lbW1heCwgJmVuZHB0 ciwgMTApOwogICAgIGlmICgqZW5kcHRyICE9ICdcMCcpIHsKICAgICAgICAgTE9HRShFUlJPUiwg ImludmFsaWQgbWF4IG1lbW9yeSAlcyBmcm9tICVzL21lbW9yeS9zdGF0aWMtbWF4XG4iLAogICAg ICAgICAgICAgIG1lbW1heCwgZG9tcGF0aCk7CkBAIC00MjEyLDcgKzQyMTEsOCBAQCByZXRyeV90 cmFuc2FjdGlvbjoKICAgICB9CiAKICAgICBpZiAoIWRvbWlkICYmIG5ld190YXJnZXRfbWVta2Ig PCBMSUJYTF9NSU5fRE9NMF9NRU0pIHsKLSAgICAgICAgTE9HKEVSUk9SLCAibmV3IHRhcmdldCAl ZCBmb3IgZG9tMCBpcyBiZWxvdyB0aGUgbWluaW11bSB0aHJlc2hvbGQiLAorICAgICAgICBMT0co RVJST1IsCisgICAgICAgICAgICAibmV3IHRhcmdldCAlIlBSSXU2NCIgZm9yIGRvbTAgaXMgYmVs b3cgdGhlIG1pbmltdW0gdGhyZXNob2xkIiwKICAgICAgICAgICAgIG5ld190YXJnZXRfbWVta2Ip OwogICAgICAgICBhYm9ydF90cmFuc2FjdGlvbiA9IDE7CiAgICAgICAgIHJjID0gRVJST1JfSU5W QUw7CkBAIC00MjM5LDcgKzQyMzksNyBAQCByZXRyeV90cmFuc2FjdGlvbjoKICAgICAgICAgICAg IChuZXdfdGFyZ2V0X21lbWtiICsgTElCWExfTUFYTUVNX0NPTlNUQU5UKSAvIDQsIE5VTEwsIE5V TEwsIE5VTEwpOwogICAgIGlmIChyICE9IDApIHsKICAgICAgICAgTE9HRShFUlJPUiwKLSAgICAg ICAgICAgICAieGNfZG9tYWluX3NldF9wb2RfdGFyZ2V0IGRvbWlkPSVkLCBtZW1rYj0lZCAiImZh aWxlZCByYz0lZFxuIiwKKyAgICAgICAgICAgICAieGNfZG9tYWluX3NldF9wb2RfdGFyZ2V0IGRv bWlkPSVkLCBtZW1rYj0lIlBSSXU2NCIgZmFpbGVkIHJjPSVkXG4iLAogICAgICAgICAgICAgIGRv bWlkLAogICAgICAgICAgICAgIG5ld190YXJnZXRfbWVta2IgLyA0LAogICAgICAgICAgICAgIHIp OwpAQCAtNDI0OSwxMyArNDI0OSwxMyBAQCByZXRyeV90cmFuc2FjdGlvbjoKICAgICB9CiAKICAg ICBsaWJ4bF9feHNfcHJpbnRmKGdjLCB0LCBHQ1NQUklOVEYoIiVzL21lbW9yeS90YXJnZXQiLCBk b21wYXRoKSwKLSAgICAgICAgICAgICAgICAgICAgICIlIlBSSXUzMiwgbmV3X3RhcmdldF9tZW1r Yik7CisgICAgICAgICAgICAgICAgICAgICAiJSJQUkl1NjQsIG5ld190YXJnZXRfbWVta2IpOwog CiAgICAgbGlieGxfZG9taW5mb19pbml0KCZwdHIpOwogICAgIHhjaW5mbzJ4bGluZm8oY3R4LCAm aW5mbywgJnB0cik7CiAgICAgdXVpZCA9IGxpYnhsX191dWlkMnN0cmluZyhnYywgcHRyLnV1aWQp OwogICAgIGxpYnhsX194c19wcmludGYoZ2MsIHQsIEdDU1BSSU5URigiL3ZtLyVzL21lbW9yeSIs IHV1aWQpLAotICAgICAgICAgICAgICAgICAgICAgIiUiUFJJdTMyLCBuZXdfdGFyZ2V0X21lbWti IC8gMTAyNCk7CisgICAgICAgICAgICAgICAgICAgICAiJSJQUkl1NjQsIG5ld190YXJnZXRfbWVt a2IgLyAxMDI0KTsKICAgICBsaWJ4bF9kb21pbmZvX2Rpc3Bvc2UoJnB0cik7CiAKICAgICByYyA9 IDA7CkBAIC00Mjc0LDEzICs0Mjc0LDEzIEBAIG91dF9ub190cmFuc2FjdGlvbjoKIAogLyogb3V0 X3RhcmdldF9tZW1rYiBhbmQgb3V0X21heF9tZW1rYiBjYW4gYmUgTlVMTCAqLwogc3RhdGljIGlu dCBsaWJ4bF9fZ2V0X21lbW9yeV90YXJnZXQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqb3V0X3Rhcmdl dF9tZW1rYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpv dXRfbWF4X21lbWtiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0 X3QgKm91dF90YXJnZXRfbWVta2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50NjRfdCAqb3V0X21heF9tZW1rYikKIHsKICAgICBpbnQgcmM7CiAgICAgY2hhciAqdGFy Z2V0ID0gTlVMTCwgKnN0YXRpY19tYXggPSBOVUxMLCAqZW5kcHRyID0gTlVMTDsKICAgICBjaGFy ICpkb21wYXRoID0gbGlieGxfX3hzX2dldF9kb21wYXRoKGdjLCBkb21pZCk7Ci0gICAgdWludDMy X3QgdGFyZ2V0X21lbWtiLCBtYXhfbWVta2I7CisgICAgdWludDY0X3QgdGFyZ2V0X21lbWtiLCBt YXhfbWVta2I7CiAKICAgICB0YXJnZXQgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsIEdD U1BSSU5URigiJXMvbWVtb3J5L3RhcmdldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZG9tcGF0aCkpOwpAQCAtNDMwMywxMyArNDMwMywxMyBA QCBzdGF0aWMgaW50IGxpYnhsX19nZXRfbWVtb3J5X3RhcmdldChsaWJ4bF9fZ2MgKmdjLCB1aW50 MzJfdCBkb21pZCwKICAgICAgICAgICAgICBkb21wYXRoKTsKICAgICAgICAgZ290byBvdXQ7CiAg ICAgfSBlbHNlIHsKLSAgICAgICAgdGFyZ2V0X21lbWtiID0gc3RydG91bCh0YXJnZXQsICZlbmRw dHIsIDEwKTsKKyAgICAgICAgdGFyZ2V0X21lbWtiID0gc3RydG91bGwodGFyZ2V0LCAmZW5kcHRy LCAxMCk7CiAgICAgICAgIGlmICgqZW5kcHRyICE9ICdcMCcpIHsKICAgICAgICAgICAgIExPR0Uo RVJST1IsICJpbnZhbGlkIG1lbW9yeSB0YXJnZXQgJXMgZnJvbSAlcy9tZW1vcnkvdGFyZ2V0XG4i LAogICAgICAgICAgICAgICAgICB0YXJnZXQsIGRvbXBhdGgpOwogICAgICAgICAgICAgZ290byBv dXQ7CiAgICAgICAgIH0KLSAgICAgICAgbWF4X21lbWtiID0gc3RydG91bChzdGF0aWNfbWF4LCAm ZW5kcHRyLCAxMCk7CisgICAgICAgIG1heF9tZW1rYiA9IHN0cnRvdWxsKHN0YXRpY19tYXgsICZl bmRwdHIsIDEwKTsKICAgICAgICAgaWYgKCplbmRwdHIgIT0gJ1wwJykgewogICAgICAgICAgICAg TE9HRShFUlJPUiwKICAgICAgICAgICAgICAgICAgImludmFsaWQgbWVtb3J5IHRhcmdldCAlcyBm cm9tICVzL21lbW9yeS9zdGF0aWMtbWF4XG4iLApAQCAtNDMzMiw4ICs0MzMyLDI4IEBAIG91dDoK ICAgICByZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBpbnQgbGlieGxfX21lbWtiXzY0dG8zMihsaWJ4 bF9jdHggKmN0eCwgaW50IHJjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2 NF90IHZhbDY0LCB1aW50MzJfdCAqcHRyMzIpCit7CisgICAgR0NfSU5JVChjdHgpOworCisgICAg aWYgKHJjKQorICAgICAgICBnb3RvIG91dDsKKworICAgICpwdHIzMiA9IHZhbDY0OworICAgIGlm ICgqcHRyMzIgPT0gdmFsNjQpCisgICAgICAgIGdvdG8gb3V0OworCisgICAgTE9HRShFUlJPUiwg Im1lbW9yeSBzaXplICUiUFJJdTY0IiB0b28gbGFyZ2UgZm9yIDMyIGJpdCB2YWx1ZVxuIiwgdmFs NjQpOworICAgIHJjID0gRVJST1JfRkFJTDsKKworb3V0OgorICAgIEdDX0ZSRUU7CisgICAgcmV0 dXJuIHJjOworfQorCiBpbnQgbGlieGxfZ2V0X21lbW9yeV90YXJnZXQobGlieGxfY3R4ICpjdHgs IHVpbnQzMl90IGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpv dXRfdGFyZ2V0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpvdXRfdGFy Z2V0KQogewogICAgIEdDX0lOSVQoY3R4KTsKICAgICBpbnQgcmM7CkBAIC00MzQ0LDkgKzQzNjQs MTkgQEAgaW50IGxpYnhsX2dldF9tZW1vcnlfdGFyZ2V0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJf dCBkb21pZCwKICAgICByZXR1cm4gcmM7CiB9CiAKK2ludCBsaWJ4bF9nZXRfbWVtb3J5X3Rhcmdl dF8weDA0MDcwMCgKKyAgICBsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIHVpbnQzMl90 ICpvdXRfdGFyZ2V0KQoreworICAgIHVpbnQ2NF90IG15X291dF90YXJnZXQ7CisgICAgaW50IHJj OworCisgICAgcmMgPSBsaWJ4bF9nZXRfbWVtb3J5X3RhcmdldChjdHgsIGRvbWlkLCAmbXlfb3V0 X3RhcmdldCk7CisgICAgcmV0dXJuIGxpYnhsX19tZW1rYl82NHRvMzIoY3R4LCByYywgbXlfb3V0 X3RhcmdldCwgb3V0X3RhcmdldCk7Cit9CisKIGludCBsaWJ4bF9kb21haW5fbmVlZF9tZW1vcnko bGlieGxfY3R4ICpjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhs X2RvbWFpbl9idWlsZF9pbmZvICpiX2luZm9faW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90ICpuZWVkX21lbWtiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50NjRfdCAqbmVlZF9tZW1rYikKIHsKICAgICBHQ19JTklUKGN0eCk7CiAgICAgbGlieGxfZG9t YWluX2J1aWxkX2luZm8gYl9pbmZvWzFdOwpAQCAtNDM4Miw3ICs0NDEyLDE4IEBAIG91dDoKIAog fQogCi1pbnQgbGlieGxfZ2V0X2ZyZWVfbWVtb3J5KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCAq bWVta2IpCitpbnQgbGlieGxfZG9tYWluX25lZWRfbWVtb3J5XzB4MDQwNzAwKGxpYnhsX2N0eCAq Y3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9k b21haW5fYnVpbGRfaW5mbyAqYl9pbmZvX2luLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCAqbmVlZF9tZW1rYikKK3sKKyAgICB1aW50NjRfdCBteV9uZWVk X21lbWtiOworICAgIGludCByYzsKKworICAgIHJjID0gbGlieGxfZG9tYWluX25lZWRfbWVtb3J5 KGN0eCwgYl9pbmZvX2luLCAmbXlfbmVlZF9tZW1rYik7CisgICAgcmV0dXJuIGxpYnhsX19tZW1r Yl82NHRvMzIoY3R4LCByYywgbXlfbmVlZF9tZW1rYiwgbmVlZF9tZW1rYik7Cit9CisKK2ludCBs aWJ4bF9nZXRfZnJlZV9tZW1vcnkobGlieGxfY3R4ICpjdHgsIHVpbnQ2NF90ICptZW1rYikKIHsK ICAgICBpbnQgcmMgPSAwOwogICAgIGxpYnhsX3BoeXNpbmZvIGluZm87CkBAIC00Mzk5LDggKzQ0 NDAsMTcgQEAgb3V0OgogICAgIHJldHVybiByYzsKIH0KIAotaW50IGxpYnhsX3dhaXRfZm9yX2Zy ZWVfbWVtb3J5KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgdWludDMyX3QKLSAgICAg ICAgbWVtb3J5X2tiLCBpbnQgd2FpdF9zZWNzKQoraW50IGxpYnhsX2dldF9mcmVlX21lbW9yeV8w eDA0MDcwMChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgKm1lbWtiKQoreworICAgIHVpbnQ2NF90 IG15X21lbWtiOworICAgIGludCByYzsKKworICAgIHJjID0gbGlieGxfZ2V0X2ZyZWVfbWVtb3J5 KGN0eCwgJm15X21lbWtiKTsKKyAgICByZXR1cm4gbGlieGxfX21lbWtiXzY0dG8zMihjdHgsIHJj LCBteV9tZW1rYiwgbWVta2IpOworfQorCitpbnQgbGlieGxfd2FpdF9mb3JfZnJlZV9tZW1vcnko bGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQ2NF90IG1lbW9yeV9rYiwgaW50IHdhaXRfc2VjcykKIHsKICAgICBpbnQgcmMg PSAwOwogICAgIGxpYnhsX3BoeXNpbmZvIGluZm87CkBAIC00NDI3LDcgKzQ0NzcsNyBAQCBvdXQ6 CiBpbnQgbGlieGxfd2FpdF9mb3JfbWVtb3J5X3RhcmdldChsaWJ4bF9jdHggKmN0eCwgdWludDMy X3QgZG9taWQsIGludCB3YWl0X3NlY3MpCiB7CiAgICAgaW50IHJjID0gMDsKLSAgICB1aW50MzJf dCB0YXJnZXRfbWVta2IgPSAwOworICAgIHVpbnQ2NF90IHRhcmdldF9tZW1rYiA9IDA7CiAgICAg dWludDY0X3QgY3VycmVudF9tZW1rYiwgcHJldl9tZW1rYjsKICAgICBsaWJ4bF9kb21pbmZvIGlu Zm87CiAKQEAgLTY2NDMsNyArNjY5Myw3IEBAIGludCBsaWJ4bF9yZXRyaWV2ZV9kb21haW5fY29u ZmlndXJhdGlvbihsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgICogInRhcmdl dCIgYW5kICJzdGF0aWMtbWF4Ii4KICAgICAgKi8KICAgICB7Ci0gICAgICAgIHVpbnQzMl90IHRh cmdldF9tZW1rYiA9IDAsIG1heF9tZW1rYiA9IDA7CisgICAgICAgIHVpbnQ2NF90IHRhcmdldF9t ZW1rYiA9IDAsIG1heF9tZW1rYiA9IDA7CiAKICAgICAgICAgLyogInRhcmdldCIgKi8KICAgICAg ICAgcmMgPSBsaWJ4bF9fZ2V0X21lbW9yeV90YXJnZXQoZ2MsIGRvbWlkLCAmdGFyZ2V0X21lbWti LCAmbWF4X21lbWtiKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmggYi90b29scy9s aWJ4bC9saWJ4bC5oCmluZGV4IDQ4YTQzY2UuLjliNTllNmUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhsL2xpYnhsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGwuaApAQCAtOTcyLDYgKzk3MiwxNyBA QCB2b2lkIGxpYnhsX21hY19jb3B5KGxpYnhsX2N0eCAqY3R4LCBsaWJ4bF9tYWMgKmRzdCwgY29u c3QgbGlieGxfbWFjICpzcmMpOwogICovCiAjZGVmaW5lIExJQlhMX0hBVkVfQllURUFSUkFZX1VV SUQgMQogCisvKgorICogTElCWExfSEFWRV9NRU1LQl82NEJJVFMKKyAqCisgKiBJZiB0aGlzIGlz IGRlZmluZWQgbGlieGxfc2V0X21lbW9yeV90YXJnZXQoKSwgbGlieGxfZG9tYWluX3NldG1heG1l bSgpCisgKiBhbmQgbGlieGxfd2FpdF9mb3JfZnJlZV9tZW1vcnkoKSAgd2lsbCB0YWtlIGEgNjQg Yml0IHZhbHVlIGZvciB0aGUgbWVtb3J5CisgKiBzaXplIHBhcmFtZXRlci4KKyAqIEZyb20gWGVu IDQuOCBvbiBsaWJ4bF9nZXRfbWVtb3J5X3RhcmdldCgpLCBsaWJ4bF9kb21haW5fbmVlZF9tZW1v cnkoKSBhbmQKKyAqIGxpYnhsX2dldF9mcmVlX21lbW9yeSgpIHJldHVybiB0aGUgbWVtb3J5IHNp emUgaW4gYSA2NCBiaXQgdmFsdWUsIHRvby4KKyAqLworI2RlZmluZSBMSUJYTF9IQVZFX01FTUtC XzY0QklUUyAxCisKIHR5cGVkZWYgY2hhciAqKmxpYnhsX3N0cmluZ19saXN0Owogdm9pZCBsaWJ4 bF9zdHJpbmdfbGlzdF9kaXNwb3NlKGxpYnhsX3N0cmluZ19saXN0ICpzbCk7CiBpbnQgbGlieGxf c3RyaW5nX2xpc3RfbGVuZ3RoKGNvbnN0IGxpYnhsX3N0cmluZ19saXN0ICpzbCk7CkBAIC0xMzc1 LDEwICsxMzg2LDEyIEBAIGludCBsaWJ4bF9kb21haW5fY29yZV9kdW1wKGxpYnhsX2N0eCAqY3R4 LCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhs X2FzeW5jb3BfaG93ICphb19ob3cpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTF9F WFRFUk5BTF9DQUxMRVJTX09OTFk7CiAKLWludCBsaWJ4bF9kb21haW5fc2V0bWF4bWVtKGxpYnhs X2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgdWludDMyX3QgdGFyZ2V0X21lbWtiKTsKLWludCBs aWJ4bF9zZXRfbWVtb3J5X3RhcmdldChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGlu dDMyX3QgdGFyZ2V0X21lbWtiLCBpbnQgcmVsYXRpdmUsIGludCBlbmZvcmNlKTsKLWludCBsaWJ4 bF9nZXRfbWVtb3J5X3RhcmdldChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIHVpbnQz Ml90ICpvdXRfdGFyZ2V0KTsKLQoraW50IGxpYnhsX2RvbWFpbl9zZXRtYXhtZW0obGlieGxfY3R4 ICpjdHgsIHVpbnQzMl90IGRvbWlkLCB1aW50NjRfdCB0YXJnZXRfbWVta2IpOworaW50IGxpYnhs X3NldF9tZW1vcnlfdGFyZ2V0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgaW50NjRf dCB0YXJnZXRfbWVta2IsIGludCByZWxhdGl2ZSwgaW50IGVuZm9yY2UpOworaW50IGxpYnhsX2dl dF9tZW1vcnlfdGFyZ2V0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgdWludDY0X3Qg Km91dF90YXJnZXQpOworaW50IGxpYnhsX2dldF9tZW1vcnlfdGFyZ2V0XzB4MDQwNzAwKGxpYnhs X2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCAqb3V0X3RhcmdldCkKKyAgICBMSUJYTF9FWFRFUk5BTF9DQUxMRVJT X09OTFk7CiAKIC8qCiAgKiBXQVJOSU5HCkBAIC0xMzkyLDExICsxNDA1LDE3IEBAIGludCBsaWJ4 bF9nZXRfbWVtb3J5X3RhcmdldChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIHVpbnQz Ml90ICpvdXRfdGFyZ2V0CiAvKiBob3cgbXVjaCBmcmVlIG1lbW9yeSBpbiB0aGUgc3lzdGVtIGEg ZG9tYWluIG5lZWRzIHRvIGJlIGJ1aWx0ICovCiBpbnQgbGlieGxfZG9tYWluX25lZWRfbWVtb3J5 KGxpYnhsX2N0eCAqY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4 bF9kb21haW5fYnVpbGRfaW5mbyAqYl9pbmZvX2luLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCAqbmVlZF9tZW1rYik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQ2NF90ICpuZWVkX21lbWtiKTsKK2ludCBsaWJ4bF9kb21haW5fbmVlZF9tZW1vcnlfMHgw NDA3MDAobGlieGxfY3R4ICpjdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICpiX2luZm9faW4sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpuZWVkX21lbWtiKQorICAgIExJ QlhMX0VYVEVSTkFMX0NBTExFUlNfT05MWTsKIC8qIGhvdyBtdWNoIGZyZWUgbWVtb3J5IGlzIGF2 YWlsYWJsZSBpbiB0aGUgc3lzdGVtICovCi1pbnQgbGlieGxfZ2V0X2ZyZWVfbWVtb3J5KGxpYnhs X2N0eCAqY3R4LCB1aW50MzJfdCAqbWVta2IpOworaW50IGxpYnhsX2dldF9mcmVlX21lbW9yeShs aWJ4bF9jdHggKmN0eCwgdWludDY0X3QgKm1lbWtiKTsKK2ludCBsaWJ4bF9nZXRfZnJlZV9tZW1v cnlfMHgwNDA3MDAobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90ICptZW1rYikKKyAgICBMSUJYTF9F WFRFUk5BTF9DQUxMRVJTX09OTFk7CiAvKiB3YWl0IGZvciBhIGdpdmVuIGFtb3VudCBvZiBtZW1v cnkgdG8gYmUgZnJlZSBpbiB0aGUgc3lzdGVtICovCi1pbnQgbGlieGxfd2FpdF9mb3JfZnJlZV9t ZW1vcnkobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCB1aW50MzJfdCBtZW1vcnlfa2Is IGludCB3YWl0X3NlY3MpOworaW50IGxpYnhsX3dhaXRfZm9yX2ZyZWVfbWVtb3J5KGxpYnhsX2N0 eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgdWludDY0X3QgbWVtb3J5X2tiLCBpbnQgd2FpdF9zZWNz KTsKIC8qCiAgKiBXYWl0IGZvciB0aGUgbWVtb3J5IHRhcmdldCBvZiBhIGRvbWFpbiB0byBiZSBy ZWFjaGVkLiBEb2VzIG5vdAogICogZGVjcmVtZW50IHdhaXRfc2VjcyBpZiB0aGUgZG9tYWluIGlz IG1ha2luZyBwcm9ncmVzcyB0b3dhcmQgcmVhY2hpbmcKQEAgLTE0MTIsNiArMTQzMSwxMiBAQCBp bnQgbGlieGxfd2FpdF9mb3JfZnJlZV9tZW1vcnkobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRv bWlkLCB1aW50MzJfdCBtZW1vcnlfawogICovCiBpbnQgbGlieGxfd2FpdF9mb3JfbWVtb3J5X3Rh cmdldChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGludCB3YWl0X3NlY3MpOwogCisj aWYgZGVmaW5lZChMSUJYTF9BUElfVkVSU0lPTikgJiYgTElCWExfQVBJX1ZFUlNJT04gPCAweDA0 MDgwMAorI2RlZmluZSBsaWJ4bF9nZXRfbWVtb3J5X3RhcmdldCBsaWJ4bF9nZXRfbWVtb3J5X3Rh cmdldF8weDA0MDcwMAorI2RlZmluZSBsaWJ4bF9kb21haW5fbmVlZF9tZW1vcnkgbGlieGxfZG9t YWluX25lZWRfbWVtb3J5XzB4MDQwNzAwCisjZGVmaW5lIGxpYnhsX2dldF9mcmVlX21lbW9yeSBs aWJ4bF9nZXRfZnJlZV9tZW1vcnlfMHgwNDA3MDAKKyNlbmRpZgorCiBpbnQgbGlieGxfdm5jdmll d2VyX2V4ZWMobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBpbnQgYXV0b3Bhc3MpOwog aW50IGxpYnhsX2NvbnNvbGVfZXhlYyhsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGlu dCBjb25zX251bSwgbGlieGxfY29uc29sZV90eXBlIHR5cGUpOwogLyogbGlieGxfcHJpbWFyeV9j b25zb2xlX2V4ZWMgZmluZHMgdGhlIGRvbWlkIGFuZCBjb25zb2xlIG51bWJlcgpkaWZmIC0tZ2l0 IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwppbmRl eCBlYzI5MDYwLi5lZWY1MDQ1IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb20uYwor KysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpAQCAtMTIzLDcgKzEyMyw3IEBAIHN0YXRpYyBp bnQgbnVtYV9wbGFjZV9kb21haW4obGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAg bGlieGxfYml0bWFwIGNwdXBvb2xfbm9kZW1hcDsKICAgICBsaWJ4bF9jcHVwb29saW5mbyBjcHVw b29sX2luZm87CiAgICAgaW50IGksIGNwdXBvb2wsIHJjID0gMDsKLSAgICB1aW50MzJfdCBtZW1r YjsKKyAgICB1aW50NjRfdCBtZW1rYjsKIAogICAgIGxpYnhsX19udW1hX2NhbmRpZGF0ZV9pbml0 KCZjYW5kaWRhdGUpOwogICAgIGxpYnhsX2JpdG1hcF9pbml0KCZjcHVwb29sX25vZGVtYXApOwpA QCAtMTc4LDcgKzE3OCw3IEBAIHN0YXRpYyBpbnQgbnVtYV9wbGFjZV9kb21haW4obGlieGxfX2dj ICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgfQogCiAgICAgTE9HKERFVEFJTCwgIk5VTUEgcGxh Y2VtZW50IGNhbmRpZGF0ZSB3aXRoICVkIG5vZGVzLCAlZCBjcHVzIGFuZCAiCi0gICAgICAgICAg ICAgICAgIiUiUFJJdTMyIiBLQiBmcmVlIHNlbGVjdGVkIiwgY2FuZGlkYXRlLm5yX25vZGVzLAor ICAgICAgICAgICAgICAgICIlIlBSSXU2NCIgS0IgZnJlZSBzZWxlY3RlZCIsIGNhbmRpZGF0ZS5u cl9ub2RlcywKICAgICAgICAgICAgICAgICBjYW5kaWRhdGUubnJfY3B1cywgY2FuZGlkYXRlLmZy ZWVfbWVta2IgLyAxMDI0KTsKIAogIG91dDoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhs X2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IDBlNzhjMTIu LjEyMjJmZmEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysrIGIv dG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzkzNyw3ICszOTM3LDcgQEAgc3RhdGlj IGlubGluZSB2b2lkIGxpYnhsX19jdHhfdW5sb2NrKGxpYnhsX2N0eCAqY3R4KSB7CiB0eXBlZGVm IHN0cnVjdCB7CiAgICAgaW50IG5yX2NwdXMsIG5yX25vZGVzOwogICAgIGludCBucl92Y3B1czsK LSAgICB1aW50MzJfdCBmcmVlX21lbWtiOworICAgIHVpbnQ2NF90IGZyZWVfbWVta2I7CiAgICAg bGlieGxfYml0bWFwIG5vZGVtYXA7CiB9IGxpYnhsX19udW1hX2NhbmRpZGF0ZTsKIApAQCAtMzk3 Nyw3ICszOTc3LDcgQEAgdHlwZWRlZiBpbnQgKCpsaWJ4bF9fbnVtYV9jYW5kaWRhdGVfY21wZiko Y29uc3QgbGlieGxfX251bWFfY2FuZGlkYXRlICpjMSwKICAqIGl0LgogICovCiBfaGlkZGVuIGlu dCBsaWJ4bF9fZ2V0X251bWFfY2FuZGlkYXRlKGxpYnhsX19nYyAqZ2MsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG1pbl9mcmVlX21lbWtiLCBpbnQgbWlu X2NwdXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IG1p bl9mcmVlX21lbWtiLCBpbnQgbWluX2NwdXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCBtaW5fbm9kZXMsIGludCBtYXhfbm9kZXMsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2JpdG1hcCAqc3VpdGFibGVfY3B1bWFw LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fbnVtYV9jYW5k aWRhdGVfY21wZiBudW1hX2NtcGYsCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9udW1h LmMgYi90b29scy9saWJ4bC9saWJ4bF9udW1hLmMKaW5kZXggOTRjYTRmZS4uMzMyODlkNSAxMDA2 NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfbnVtYS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhs X251bWEuYwpAQCAtMjg1LDcgKzI4NSw3IEBAIHN0YXRpYyBpbnQgY291bnRfY3B1c19wZXJfbm9k ZShsaWJ4bF9jcHV0b3BvbG9neSAqdGluZm8sIGludCBucl9jcHVzLAogICogY29tcGFyaXNvbiBm dW5jdGlvbi4KICAqLwogaW50IGxpYnhsX19nZXRfbnVtYV9jYW5kaWRhdGUobGlieGxfX2djICpn YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG1pbl9mcmVlX21lbWti LCBpbnQgbWluX2NwdXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBt aW5fZnJlZV9tZW1rYiwgaW50IG1pbl9jcHVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IG1pbl9ub2RlcywgaW50IG1heF9ub2RlcywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGxpYnhsX2JpdG1hcCAqc3VpdGFibGVfY3B1bWFwLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlieGxfX251bWFfY2FuZGlkYXRlX2NtcGYgbnVtYV9jbXBmLApA QCAtNDM2LDcgKzQzNiw3IEBAIGludCBsaWJ4bF9fZ2V0X251bWFfY2FuZGlkYXRlKGxpYnhsX19n YyAqZ2MsCiAgICAgICAgIGZvciAoY29tYl9vayA9IGNvbWJfaW5pdChnYywgJmNvbWJfaXRlciwg bnJfc3VpdF9ub2RlcywgbWluX25vZGVzKTsKICAgICAgICAgICAgICBjb21iX29rOwogICAgICAg ICAgICAgIGNvbWJfb2sgPSBjb21iX25leHQoY29tYl9pdGVyLCBucl9zdWl0X25vZGVzLCBtaW5f bm9kZXMpKSB7Ci0gICAgICAgICAgICB1aW50MzJfdCBub2Rlc19mcmVlX21lbWtiOworICAgICAg ICAgICAgdWludDY0X3Qgbm9kZXNfZnJlZV9tZW1rYjsKICAgICAgICAgICAgIGludCBub2Rlc19j cHVzOwogCiAgICAgICAgICAgICAvKiBHZXQgdGhlIG5vZGVtYXAgZm9yIHRoZSBjb21iaW5hdGlv biwgb25seSBjb25zaWRlcmluZwpAQCAtNDc4LDcgKzQ3OCw3IEBAIGludCBsaWJ4bF9fZ2V0X251 bWFfY2FuZGlkYXRlKGxpYnhsX19nYyAqZ2MsCiAKICAgICAgICAgICAgICAgICBMT0coREVCVUcs ICJOZXcgYmVzdCBOVU1BIHBsYWNlbWVudCBjYW5kaWRhdGUgZm91bmQ6ICIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJucl9ub2Rlcz0lZCwgbnJfY3B1cz0lZCwgbnJfdmNwdXM9JWQsICIK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcmVlX21lbWtiPSUiUFJJdTMyIiIsIG5ld19j bmR0Lm5yX25vZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyZWVfbWVta2I9JSJQ Ukl1NjQiIiwgbmV3X2NuZHQubnJfbm9kZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBu ZXdfY25kdC5ucl9jcHVzLCBuZXdfY25kdC5ucl92Y3B1cywKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG5ld19jbmR0LmZyZWVfbWVta2IgLyAxMDI0KTsKIApkaWZmIC0tZ2l0IGEvdG9vbHMv bGlieGwveGxfY21kaW1wbC5jIGIvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCmluZGV4IDkyNjdk ZTguLmVkNDViYzAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYworKysgYi90 b29scy9saWJ4bC94bF9jbWRpbXBsLmMKQEAgLTI2ODgsNyArMjY4OCw3IEBAIHN0YXRpYyBpbnQg cHJlc2VydmVfZG9tYWluKHVpbnQzMl90ICpyX2RvbWlkLCBsaWJ4bF9ldmVudCAqZXZlbnQsCiBz dGF0aWMgYm9vbCBmcmVlbWVtKHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kb21haW5fYnVpbGRfaW5m byAqYl9pbmZvKQogewogICAgIGludCByYywgcmV0cmllcyA9IDM7Ci0gICAgdWludDMyX3QgbmVl ZF9tZW1rYiwgZnJlZV9tZW1rYjsKKyAgICB1aW50NjRfdCBuZWVkX21lbWtiLCBmcmVlX21lbWti OwogCiAgICAgaWYgKCFhdXRvYmFsbG9vbikKICAgICAgICAgcmV0dXJuIHRydWU7Ci0tIAoyLjYu NgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=