From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2] libxl: memory size in kb requires 64 bit variable Date: Fri, 22 Jul 2016 08:53:13 +0200 Message-ID: <1469170393-9487-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+Ci0t LQpWMjogLSBtb3ZlIGNvbXBhdGliaWxpdHkgZnVuY3Rpb25zIHRvIGxpYnhsLmMgYXMgcmVxdWVz dGVkIGJ5CiAgICAgIElhbiBKYWNrc29uCiAgICAtIGFkZCBhIGNvbW1vbiBzZXJ2aWNlIGZ1bmN0 aW9uIHRvIGNoZWNrIGZvciB2YWx1ZSB0byBmaXQgaW50bwogICAgICAzMiBiaXQgdmFyaWFibGUg YXMgcmVxdWVzdGVkIGJ5IElhbiBKYWNrc29uCi0tLQogdG9vbHMvbGlieGwvbGlieGwuYyAgICAg ICAgICB8IDEyMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiB0 b29scy9saWJ4bC9saWJ4bC5oICAgICAgICAgIHwgIDM5ICsrKysrKysrKysrLS0tCiB0b29scy9s aWJ4bC9saWJ4bF9kb20uYyAgICAgIHwgICA0ICstCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5h bC5oIHwgICA0ICstCiB0b29scy9saWJ4bC9saWJ4bF9udW1hLmMgICAgIHwgICA2ICstLQogdG9v bHMvbGlieGwveGxfY21kaW1wbC5jICAgICB8ICAgMiArLQogNiBmaWxlcyBjaGFuZ2VkLCAxMjYg aW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv bGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKaW5kZXggYjVmOTA4NC4uZTQ4NzliMyAxMDA2 NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYworKysgYi90b29scy9saWJ4bC9saWJ4bC5jCkBA IC00NzE4LDExICs0NzE4LDExIEBAIG91dDoKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAot aW50IGxpYnhsX2RvbWFpbl9zZXRtYXhtZW0obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlk LCB1aW50MzJfdCBtYXhfbWVta2IpCitpbnQgbGlieGxfZG9tYWluX3NldG1heG1lbShsaWJ4bF9j dHggKmN0eCwgdWludDMyX3QgZG9taWQsIHVpbnQ2NF90IG1heF9tZW1rYikKIHsKICAgICBHQ19J TklUKGN0eCk7CiAgICAgY2hhciAqbWVtLCAqZW5kcHRyOwotICAgIHVpbnQzMl90IG1lbW9yeWti OworICAgIHVpbnQ2NF90IG1lbW9yeWtiOwogICAgIGNoYXIgKmRvbXBhdGggPSBsaWJ4bF9feHNf Z2V0X2RvbXBhdGgoZ2MsIGRvbWlkKTsKICAgICBpbnQgcmMgPSAxOwogICAgIGxpYnhsX19kb21h aW5fdXNlcmRhdGFfbG9jayAqbG9jayA9IE5VTEw7CkBAIC00NzQwLDcgKzQ3NDAsNyBAQCBpbnQg bGlieGxfZG9tYWluX3NldG1heG1lbShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIHVp bnQzMl90IG1heF9tZW1rYikKICAgICAgICAgTE9HRShFUlJPUiwgImNhbm5vdCBnZXQgbWVtb3J5 IGluZm8gZnJvbSAlcy9tZW1vcnkvdGFyZ2V0IiwgZG9tcGF0aCk7CiAgICAgICAgIGdvdG8gb3V0 OwogICAgIH0KLSAgICBtZW1vcnlrYiA9IHN0cnRvdWwobWVtLCAmZW5kcHRyLCAxMCk7CisgICAg bWVtb3J5a2IgPSBzdHJ0b3VsbChtZW0sICZlbmRwdHIsIDEwKTsKICAgICBpZiAoKmVuZHB0ciAh PSAnXDAnKSB7CiAgICAgICAgIExPR0UoRVJST1IsICJpbnZhbGlkIG1lbW9yeSAlcyBmcm9tICVz L21lbW9yeS90YXJnZXRcbiIsIG1lbSwgZG9tcGF0aCk7CiAgICAgICAgIGdvdG8gb3V0OwpAQCAt NDc1Myw3ICs0NzUzLDggQEAgaW50IGxpYnhsX2RvbWFpbl9zZXRtYXhtZW0obGlieGxfY3R4ICpj dHgsIHVpbnQzMl90IGRvbWlkLCB1aW50MzJfdCBtYXhfbWVta2IpCiAgICAgfQogICAgIHJjID0g eGNfZG9tYWluX3NldG1heG1lbShjdHgtPnhjaCwgZG9taWQsIG1heF9tZW1rYiArIExJQlhMX01B WE1FTV9DT05TVEFOVCk7CiAgICAgaWYgKHJjICE9IDApIHsKLSAgICAgICAgTE9HRShFUlJPUiwg InhjX2RvbWFpbl9zZXRtYXhtZW0gZG9taWQ9JWQgbWVta2I9JWQgZmFpbGVkICIicmM9JWRcbiIs CisgICAgICAgIExPR0UoRVJST1IsCisgICAgICAgICAgICAgInhjX2RvbWFpbl9zZXRtYXhtZW0g ZG9taWQ9JWQgbWVta2I9JSJQUkl1NjQiIGZhaWxlZCAiInJjPSVkXG4iLAogICAgICAgICAgICAg IGRvbWlkLCBtYXhfbWVta2IgKyBMSUJYTF9NQVhNRU1fQ09OU1RBTlQsIHJjKTsKICAgICAgICAg Z290byBvdXQ7CiAgICAgfQpAQCAtNDc2Niw4ICs0NzY3LDggQEAgb3V0OgogICAgIHJldHVybiBy YzsKIH0KIAotc3RhdGljIGludCBsaWJ4bF9fZmlsbF9kb20wX21lbW9yeV9pbmZvKGxpYnhsX19n YyAqZ2MsIHVpbnQzMl90ICp0YXJnZXRfbWVta2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDMyX3QgKm1heF9tZW1rYikKK3N0YXRpYyBpbnQgbGlieGxfX2Zp bGxfZG9tMF9tZW1vcnlfaW5mbyhsaWJ4bF9fZ2MgKmdjLCB1aW50NjRfdCAqdGFyZ2V0X21lbWti LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICptYXhf bWVta2IpCiB7CiAgICAgaW50IHJjOwogICAgIGxpYnhsX2RvbWluZm8gaW5mbzsKQEAgLTQ3OTEs NyArNDc5Miw3IEBAIHJldHJ5X3RyYW5zYWN0aW9uOgogICAgIH0KIAogICAgIGlmICh0YXJnZXQp IHsKLSAgICAgICAgKnRhcmdldF9tZW1rYiA9IHN0cnRvdWwodGFyZ2V0LCAmZW5kcHRyLCAxMCk7 CisgICAgICAgICp0YXJnZXRfbWVta2IgPSBzdHJ0b3VsbCh0YXJnZXQsICZlbmRwdHIsIDEwKTsK ICAgICAgICAgaWYgKCplbmRwdHIgIT0gJ1wwJykgewogICAgICAgICAgICAgTE9HRShFUlJPUiwg ImludmFsaWQgbWVtb3J5IHRhcmdldCAlcyBmcm9tICVzXG4iLCB0YXJnZXQsCiAgICAgICAgICAg ICAgICAgIHRhcmdldF9wYXRoKTsKQEAgLTQ4MDEsNyArNDgwMiw3IEBAIHJldHJ5X3RyYW5zYWN0 aW9uOgogICAgIH0KIAogICAgIGlmIChzdGF0aWNtYXgpIHsKLSAgICAgICAgKm1heF9tZW1rYiA9 IHN0cnRvdWwoc3RhdGljbWF4LCAmZW5kcHRyLCAxMCk7CisgICAgICAgICptYXhfbWVta2IgPSBz dHJ0b3VsbChzdGF0aWNtYXgsICZlbmRwdHIsIDEwKTsKICAgICAgICAgaWYgKCplbmRwdHIgIT0g J1wwJykgewogICAgICAgICAgICAgTE9HRShFUlJPUiwgImludmFsaWQgbWVtb3J5IHN0YXRpYy1t YXggJXMgZnJvbSAlc1xuIiwgc3RhdGljbWF4LAogICAgICAgICAgICAgICAgICBtYXhfcGF0aCk7 CkBAIC00ODIxLDE0ICs0ODIyLDEyIEBAIHJldHJ5X3RyYW5zYWN0aW9uOgogICAgICAgICBnb3Rv IG91dDsKIAogICAgIGlmICh0YXJnZXQgPT0gTlVMTCkgewotICAgICAgICBsaWJ4bF9feHNfcHJp bnRmKGdjLCB0LCB0YXJnZXRfcGF0aCwgIiUiUFJJdTMyLAotICAgICAgICAgICAgICAgICAgICAg ICAgICh1aW50MzJfdCkgaW5mby5jdXJyZW50X21lbWtiKTsKLSAgICAgICAgKnRhcmdldF9tZW1r YiA9ICh1aW50MzJfdCkgaW5mby5jdXJyZW50X21lbWtiOworICAgICAgICBsaWJ4bF9feHNfcHJp bnRmKGdjLCB0LCB0YXJnZXRfcGF0aCwgIiUiUFJJdTY0LCBpbmZvLmN1cnJlbnRfbWVta2IpOwor ICAgICAgICAqdGFyZ2V0X21lbWtiID0gaW5mby5jdXJyZW50X21lbWtiOwogICAgIH0KICAgICBp ZiAoc3RhdGljbWF4ID09IE5VTEwpIHsKLSAgICAgICAgbGlieGxfX3hzX3ByaW50ZihnYywgdCwg bWF4X3BhdGgsICIlIlBSSXUzMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3Qp IGluZm8ubWF4X21lbWtiKTsKLSAgICAgICAgKm1heF9tZW1rYiA9ICh1aW50MzJfdCkgaW5mby5t YXhfbWVta2I7CisgICAgICAgIGxpYnhsX194c19wcmludGYoZ2MsIHQsIG1heF9wYXRoLCAiJSJQ Ukl1NjQsIGluZm8ubWF4X21lbWtiKTsKKyAgICAgICAgKm1heF9tZW1rYiA9IGluZm8ubWF4X21l bWtiOwogICAgIH0KIAogICAgIHJjID0gMDsKQEAgLTQ4NDYsMTQgKzQ4NDUsMTQgQEAgb3V0Ogog fQogCiBpbnQgbGlieGxfc2V0X21lbW9yeV90YXJnZXQobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90 IGRvbWlkLAotICAgICAgICBpbnQzMl90IHRhcmdldF9tZW1rYiwgaW50IHJlbGF0aXZlLCBpbnQg ZW5mb3JjZSkKKyAgICAgICAgaW50NjRfdCB0YXJnZXRfbWVta2IsIGludCByZWxhdGl2ZSwgaW50 IGVuZm9yY2UpCiB7CiAgICAgR0NfSU5JVChjdHgpOwogICAgIGludCByYywgciwgbHJjLCBhYm9y dF90cmFuc2FjdGlvbiA9IDA7CiAgICAgdWludDY0X3QgbWVtb3J5a2I7Ci0gICAgdWludDMyX3Qg dmlkZW9yYW0gPSAwOwotICAgIHVpbnQzMl90IGN1cnJlbnRfdGFyZ2V0X21lbWtiID0gMCwgbmV3 X3RhcmdldF9tZW1rYiA9IDA7Ci0gICAgdWludDMyX3QgY3VycmVudF9tYXhfbWVta2IgPSAwOwor ICAgIHVpbnQ2NF90IHZpZGVvcmFtID0gMDsKKyAgICB1aW50NjRfdCBjdXJyZW50X3RhcmdldF9t ZW1rYiA9IDAsIG5ld190YXJnZXRfbWVta2IgPSAwOworICAgIHVpbnQ2NF90IGN1cnJlbnRfbWF4 X21lbWtiID0gMDsKICAgICBjaGFyICptZW1tYXgsICplbmRwdHIsICp2aWRlb3JhbV9zID0gTlVM TCwgKnRhcmdldCA9IE5VTEw7CiAgICAgY2hhciAqZG9tcGF0aCA9IGxpYnhsX194c19nZXRfZG9t cGF0aChnYywgZG9taWQpOwogICAgIHhjX2RvbWFpbmluZm9fdCBpbmZvOwpAQCAtNDg5MCw3ICs0 ODg5LDcgQEAgcmV0cnlfdHJhbnNhY3Rpb246CiAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAg ICAgICAgZ290byBvdXQ7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgY3VycmVudF90YXJnZXRfbWVt a2IgPSBzdHJ0b3VsKHRhcmdldCwgJmVuZHB0ciwgMTApOworICAgICAgICBjdXJyZW50X3Rhcmdl dF9tZW1rYiA9IHN0cnRvdWxsKHRhcmdldCwgJmVuZHB0ciwgMTApOwogICAgICAgICBpZiAoKmVu ZHB0ciAhPSAnXDAnKSB7CiAgICAgICAgICAgICBMT0dFKEVSUk9SLCAiaW52YWxpZCBtZW1vcnkg dGFyZ2V0ICVzIGZyb20gJXMvbWVtb3J5L3RhcmdldFxuIiwKICAgICAgICAgICAgICAgICAgdGFy Z2V0LCBkb21wYXRoKTsKQEAgLTQ5MDcsNyArNDkwNiw3IEBAIHJldHJ5X3RyYW5zYWN0aW9uOgog ICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KLSAgICBt ZW1vcnlrYiA9IHN0cnRvdWwobWVtbWF4LCAmZW5kcHRyLCAxMCk7CisgICAgbWVtb3J5a2IgPSBz dHJ0b3VsbChtZW1tYXgsICZlbmRwdHIsIDEwKTsKICAgICBpZiAoKmVuZHB0ciAhPSAnXDAnKSB7 CiAgICAgICAgIExPR0UoRVJST1IsICJpbnZhbGlkIG1heCBtZW1vcnkgJXMgZnJvbSAlcy9tZW1v cnkvc3RhdGljLW1heFxuIiwKICAgICAgICAgICAgICBtZW1tYXgsIGRvbXBhdGgpOwpAQCAtNDkz Nyw3ICs0OTM2LDggQEAgcmV0cnlfdHJhbnNhY3Rpb246CiAgICAgfQogCiAgICAgaWYgKCFkb21p ZCAmJiBuZXdfdGFyZ2V0X21lbWtiIDwgTElCWExfTUlOX0RPTTBfTUVNKSB7Ci0gICAgICAgIExP RyhFUlJPUiwgIm5ldyB0YXJnZXQgJWQgZm9yIGRvbTAgaXMgYmVsb3cgdGhlIG1pbmltdW0gdGhy ZXNob2xkIiwKKyAgICAgICAgTE9HKEVSUk9SLAorICAgICAgICAgICAgIm5ldyB0YXJnZXQgJSJQ Ukl1NjQiIGZvciBkb20wIGlzIGJlbG93IHRoZSBtaW5pbXVtIHRocmVzaG9sZCIsCiAgICAgICAg ICAgICBuZXdfdGFyZ2V0X21lbWtiKTsKICAgICAgICAgYWJvcnRfdHJhbnNhY3Rpb24gPSAxOwog ICAgICAgICByYyA9IEVSUk9SX0lOVkFMOwpAQCAtNDk2NCw3ICs0OTY0LDcgQEAgcmV0cnlfdHJh bnNhY3Rpb246CiAgICAgICAgICAgICAobmV3X3RhcmdldF9tZW1rYiArIExJQlhMX01BWE1FTV9D T05TVEFOVCkgLyA0LCBOVUxMLCBOVUxMLCBOVUxMKTsKICAgICBpZiAociAhPSAwKSB7CiAgICAg ICAgIExPR0UoRVJST1IsCi0gICAgICAgICAgICAgInhjX2RvbWFpbl9zZXRfcG9kX3RhcmdldCBk b21pZD0lZCwgbWVta2I9JWQgIiJmYWlsZWQgcmM9JWRcbiIsCisgICAgICAgICAgICAgInhjX2Rv bWFpbl9zZXRfcG9kX3RhcmdldCBkb21pZD0lZCwgbWVta2I9JSJQUkl1NjQiIGZhaWxlZCByYz0l ZFxuIiwKICAgICAgICAgICAgICBkb21pZCwKICAgICAgICAgICAgICBuZXdfdGFyZ2V0X21lbWti IC8gNCwKICAgICAgICAgICAgICByKTsKQEAgLTQ5NzQsMTMgKzQ5NzQsMTMgQEAgcmV0cnlfdHJh bnNhY3Rpb246CiAgICAgfQogCiAgICAgbGlieGxfX3hzX3ByaW50ZihnYywgdCwgR0NTUFJJTlRG KCIlcy9tZW1vcnkvdGFyZ2V0IiwgZG9tcGF0aCksCi0gICAgICAgICAgICAgICAgICAgICAiJSJQ Ukl1MzIsIG5ld190YXJnZXRfbWVta2IpOworICAgICAgICAgICAgICAgICAgICAgIiUiUFJJdTY0 LCBuZXdfdGFyZ2V0X21lbWtiKTsKIAogICAgIGxpYnhsX2RvbWluZm9faW5pdCgmcHRyKTsKICAg ICB4Y2luZm8yeGxpbmZvKGN0eCwgJmluZm8sICZwdHIpOwogICAgIHV1aWQgPSBsaWJ4bF9fdXVp ZDJzdHJpbmcoZ2MsIHB0ci51dWlkKTsKICAgICBsaWJ4bF9feHNfcHJpbnRmKGdjLCB0LCBHQ1NQ UklOVEYoIi92bS8lcy9tZW1vcnkiLCB1dWlkKSwKLSAgICAgICAgICAgICAgICAgICAgICIlIlBS SXUzMiwgbmV3X3RhcmdldF9tZW1rYiAvIDEwMjQpOworICAgICAgICAgICAgICAgICAgICAgIiUi UFJJdTY0LCBuZXdfdGFyZ2V0X21lbWtiIC8gMTAyNCk7CiAgICAgbGlieGxfZG9taW5mb19kaXNw b3NlKCZwdHIpOwogCiAgICAgcmMgPSAwOwpAQCAtNDk5OSwxMyArNDk5OSwxMyBAQCBvdXRfbm9f dHJhbnNhY3Rpb246CiAKIC8qIG91dF90YXJnZXRfbWVta2IgYW5kIG91dF9tYXhfbWVta2IgY2Fu IGJlIE5VTEwgKi8KIHN0YXRpYyBpbnQgbGlieGxfX2dldF9tZW1vcnlfdGFyZ2V0KGxpYnhsX19n YyAqZ2MsIHVpbnQzMl90IGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDMyX3QgKm91dF90YXJnZXRfbWVta2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCAqb3V0X21heF9tZW1rYikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpvdXRfdGFyZ2V0X21lbWtiLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKm91dF9tYXhfbWVta2IpCiB7CiAgICAg aW50IHJjOwogICAgIGNoYXIgKnRhcmdldCA9IE5VTEwsICpzdGF0aWNfbWF4ID0gTlVMTCwgKmVu ZHB0ciA9IE5VTEw7CiAgICAgY2hhciAqZG9tcGF0aCA9IGxpYnhsX194c19nZXRfZG9tcGF0aChn YywgZG9taWQpOwotICAgIHVpbnQzMl90IHRhcmdldF9tZW1rYiwgbWF4X21lbWtiOworICAgIHVp bnQ2NF90IHRhcmdldF9tZW1rYiwgbWF4X21lbWtiOwogCiAgICAgdGFyZ2V0ID0gbGlieGxfX3hz X3JlYWQoZ2MsIFhCVF9OVUxMLCBHQ1NQUklOVEYoIiVzL21lbW9yeS90YXJnZXQiLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbXBhdGgpKTsK QEAgLTUwMjgsMTMgKzUwMjgsMTMgQEAgc3RhdGljIGludCBsaWJ4bF9fZ2V0X21lbW9yeV90YXJn ZXQobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgZG9tcGF0aCk7 CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0gZWxzZSB7Ci0gICAgICAgIHRhcmdldF9tZW1rYiA9 IHN0cnRvdWwodGFyZ2V0LCAmZW5kcHRyLCAxMCk7CisgICAgICAgIHRhcmdldF9tZW1rYiA9IHN0 cnRvdWxsKHRhcmdldCwgJmVuZHB0ciwgMTApOwogICAgICAgICBpZiAoKmVuZHB0ciAhPSAnXDAn KSB7CiAgICAgICAgICAgICBMT0dFKEVSUk9SLCAiaW52YWxpZCBtZW1vcnkgdGFyZ2V0ICVzIGZy b20gJXMvbWVtb3J5L3RhcmdldFxuIiwKICAgICAgICAgICAgICAgICAgdGFyZ2V0LCBkb21wYXRo KTsKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICB9Ci0gICAgICAgIG1heF9tZW1rYiA9 IHN0cnRvdWwoc3RhdGljX21heCwgJmVuZHB0ciwgMTApOworICAgICAgICBtYXhfbWVta2IgPSBz dHJ0b3VsbChzdGF0aWNfbWF4LCAmZW5kcHRyLCAxMCk7CiAgICAgICAgIGlmICgqZW5kcHRyICE9 ICdcMCcpIHsKICAgICAgICAgICAgIExPR0UoRVJST1IsCiAgICAgICAgICAgICAgICAgICJpbnZh bGlkIG1lbW9yeSB0YXJnZXQgJXMgZnJvbSAlcy9tZW1vcnkvc3RhdGljLW1heFxuIiwKQEAgLTUw NTcsOCArNTA1NywyOCBAQCBvdXQ6CiAgICAgcmV0dXJuIHJjOwogfQogCitzdGF0aWMgaW50IGxp YnhsX19tZW1rYl8zMnRvNjQobGlieGxfY3R4ICpjdHgsIGludCByYywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50NjRfdCB2YWw2NCwgdWludDMyX3QgKnB0cjMyKQoreworICAg IEdDX0lOSVQoY3R4KTsKKworICAgIGlmIChyYykKKyAgICAgICAgZ290byBvdXQ7CisKKyAgICAq cHRyMzIgPSB2YWw2NDsKKyAgICBpZiAoKnB0cjMyID09IHZhbDY0KQorICAgICAgICBnb3RvIG91 dDsKKworICAgIExPR0UoRVJST1IsICJtZW1vcnkgc2l6ZSAlIlBSSXU2NCIgdG9vIGxhcmdlIGZv ciAzMiBiaXQgdmFsdWVcbiIsIHZhbDY0KTsKKyAgICByYyA9IEVSUk9SX0ZBSUw7CisKK291dDoK KyAgICBHQ19GUkVFOworICAgIHJldHVybiByYzsKK30KKwogaW50IGxpYnhsX2dldF9tZW1vcnlf dGFyZ2V0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCAqb3V0X3RhcmdldCkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50NjRfdCAqb3V0X3RhcmdldCkKIHsKICAgICBHQ19JTklUKGN0eCk7CiAgICAgaW50 IHJjOwpAQCAtNTA2OSw5ICs1MDg5LDE5IEBAIGludCBsaWJ4bF9nZXRfbWVtb3J5X3RhcmdldChs aWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgcmV0dXJuIHJjOwogfQogCitpbnQg bGlieGxfZ2V0X21lbW9yeV90YXJnZXRfMHgwNDA3MDAoCisgICAgbGlieGxfY3R4ICpjdHgsIHVp bnQzMl90IGRvbWlkLCB1aW50MzJfdCAqb3V0X3RhcmdldCkKK3sKKyAgICB1aW50NjRfdCBteV9v dXRfdGFyZ2V0OworICAgIGludCByYzsKKworICAgIHJjID0gbGlieGxfZ2V0X21lbW9yeV90YXJn ZXQoY3R4LCBkb21pZCwgJm15X291dF90YXJnZXQpOworICAgIHJldHVybiBsaWJ4bF9fbWVta2Jf MzJ0bzY0KGN0eCwgcmMsIG15X291dF90YXJnZXQsIG91dF90YXJnZXQpOworfQorCiBpbnQgbGli eGxfZG9tYWluX25lZWRfbWVtb3J5KGxpYnhsX2N0eCAqY3R4LAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqYl9pbmZvX2luLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqbmVlZF9tZW1rYikKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKm5lZWRfbWVta2IpCiB7CiAgICAgR0NfSU5J VChjdHgpOwogICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvIGJfaW5mb1sxXTsKQEAgLTUxMDcs NyArNTEzNywxOCBAQCBvdXQ6CiAKIH0KIAotaW50IGxpYnhsX2dldF9mcmVlX21lbW9yeShsaWJ4 bF9jdHggKmN0eCwgdWludDMyX3QgKm1lbWtiKQoraW50IGxpYnhsX2RvbWFpbl9uZWVkX21lbW9y eV8weDA0MDcwMChsaWJ4bF9jdHggKmN0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmJfaW5mb19pbiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKm5lZWRfbWVta2IpCit7 CisgICAgdWludDY0X3QgbXlfbmVlZF9tZW1rYjsKKyAgICBpbnQgcmM7CisKKyAgICByYyA9IGxp YnhsX2RvbWFpbl9uZWVkX21lbW9yeShjdHgsIGJfaW5mb19pbiwgJm15X25lZWRfbWVta2IpOwor ICAgIHJldHVybiBsaWJ4bF9fbWVta2JfMzJ0bzY0KGN0eCwgcmMsIG15X25lZWRfbWVta2IsIG5l ZWRfbWVta2IpOworfQorCitpbnQgbGlieGxfZ2V0X2ZyZWVfbWVtb3J5KGxpYnhsX2N0eCAqY3R4 LCB1aW50NjRfdCAqbWVta2IpCiB7CiAgICAgaW50IHJjID0gMDsKICAgICBsaWJ4bF9waHlzaW5m byBpbmZvOwpAQCAtNTEyNCw4ICs1MTY1LDE3IEBAIG91dDoKICAgICByZXR1cm4gcmM7CiB9CiAK LWludCBsaWJ4bF93YWl0X2Zvcl9mcmVlX21lbW9yeShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3Qg ZG9taWQsIHVpbnQzMl90Ci0gICAgICAgIG1lbW9yeV9rYiwgaW50IHdhaXRfc2VjcykKK2ludCBs aWJ4bF9nZXRfZnJlZV9tZW1vcnlfMHgwNDA3MDAobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90ICpt ZW1rYikKK3sKKyAgICB1aW50NjRfdCBteV9tZW1rYjsKKyAgICBpbnQgcmM7CisKKyAgICByYyA9 IGxpYnhsX2dldF9mcmVlX21lbW9yeShjdHgsICZteV9tZW1rYik7CisgICAgcmV0dXJuIGxpYnhs X19tZW1rYl8zMnRvNjQoY3R4LCByYywgbXlfbWVta2IsIG1lbWtiKTsKK30KKworaW50IGxpYnhs X3dhaXRfZm9yX2ZyZWVfbWVtb3J5KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBtZW1vcnlfa2IsIGludCB3YWl0 X3NlY3MpCiB7CiAgICAgaW50IHJjID0gMDsKICAgICBsaWJ4bF9waHlzaW5mbyBpbmZvOwpAQCAt NTE1Miw3ICs1MjAyLDcgQEAgb3V0OgogaW50IGxpYnhsX3dhaXRfZm9yX21lbW9yeV90YXJnZXQo bGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBpbnQgd2FpdF9zZWNzKQogewogICAgIGlu dCByYyA9IDA7Ci0gICAgdWludDMyX3QgdGFyZ2V0X21lbWtiID0gMDsKKyAgICB1aW50NjRfdCB0 YXJnZXRfbWVta2IgPSAwOwogICAgIHVpbnQ2NF90IGN1cnJlbnRfbWVta2IsIHByZXZfbWVta2I7 CiAgICAgbGlieGxfZG9taW5mbyBpbmZvOwogCkBAIC03MzY4LDcgKzc0MTgsNyBAQCBpbnQgbGli eGxfcmV0cmlldmVfZG9tYWluX2NvbmZpZ3VyYXRpb24obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90 IGRvbWlkLAogICAgICAqICJ0YXJnZXQiIGFuZCAic3RhdGljLW1heCIuCiAgICAgICovCiAgICAg ewotICAgICAgICB1aW50MzJfdCB0YXJnZXRfbWVta2IgPSAwLCBtYXhfbWVta2IgPSAwOworICAg ICAgICB1aW50NjRfdCB0YXJnZXRfbWVta2IgPSAwLCBtYXhfbWVta2IgPSAwOwogCiAgICAgICAg IC8qICJ0YXJnZXQiICovCiAgICAgICAgIHJjID0gbGlieGxfX2dldF9tZW1vcnlfdGFyZ2V0KGdj LCBkb21pZCwgJnRhcmdldF9tZW1rYiwgJm1heF9tZW1rYik7CmRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bC5oIGIvdG9vbHMvbGlieGwvbGlieGwuaAppbmRleCA0OGE0M2NlLi45YjU5ZTZl IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhs LmgKQEAgLTk3Miw2ICs5NzIsMTcgQEAgdm9pZCBsaWJ4bF9tYWNfY29weShsaWJ4bF9jdHggKmN0 eCwgbGlieGxfbWFjICpkc3QsIGNvbnN0IGxpYnhsX21hYyAqc3JjKTsKICAqLwogI2RlZmluZSBM SUJYTF9IQVZFX0JZVEVBUlJBWV9VVUlEIDEKIAorLyoKKyAqIExJQlhMX0hBVkVfTUVNS0JfNjRC SVRTCisgKgorICogSWYgdGhpcyBpcyBkZWZpbmVkIGxpYnhsX3NldF9tZW1vcnlfdGFyZ2V0KCks IGxpYnhsX2RvbWFpbl9zZXRtYXhtZW0oKQorICogYW5kIGxpYnhsX3dhaXRfZm9yX2ZyZWVfbWVt b3J5KCkgIHdpbGwgdGFrZSBhIDY0IGJpdCB2YWx1ZSBmb3IgdGhlIG1lbW9yeQorICogc2l6ZSBw YXJhbWV0ZXIuCisgKiBGcm9tIFhlbiA0Ljggb24gbGlieGxfZ2V0X21lbW9yeV90YXJnZXQoKSwg bGlieGxfZG9tYWluX25lZWRfbWVtb3J5KCkgYW5kCisgKiBsaWJ4bF9nZXRfZnJlZV9tZW1vcnko KSByZXR1cm4gdGhlIG1lbW9yeSBzaXplIGluIGEgNjQgYml0IHZhbHVlLCB0b28uCisgKi8KKyNk ZWZpbmUgTElCWExfSEFWRV9NRU1LQl82NEJJVFMgMQorCiB0eXBlZGVmIGNoYXIgKipsaWJ4bF9z dHJpbmdfbGlzdDsKIHZvaWQgbGlieGxfc3RyaW5nX2xpc3RfZGlzcG9zZShsaWJ4bF9zdHJpbmdf bGlzdCAqc2wpOwogaW50IGxpYnhsX3N0cmluZ19saXN0X2xlbmd0aChjb25zdCBsaWJ4bF9zdHJp bmdfbGlzdCAqc2wpOwpAQCAtMTM3NSwxMCArMTM4NiwxMiBAQCBpbnQgbGlieGxfZG9tYWluX2Nv cmVfZHVtcChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBsaWJ4bF9hc3luY29wX2hvdyAqYW9faG93KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgTElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwogCi1pbnQgbGlieGxf ZG9tYWluX3NldG1heG1lbShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIHVpbnQzMl90 IHRhcmdldF9tZW1rYik7Ci1pbnQgbGlieGxfc2V0X21lbW9yeV90YXJnZXQobGlieGxfY3R4ICpj dHgsIHVpbnQzMl90IGRvbWlkLCBpbnQzMl90IHRhcmdldF9tZW1rYiwgaW50IHJlbGF0aXZlLCBp bnQgZW5mb3JjZSk7Ci1pbnQgbGlieGxfZ2V0X21lbW9yeV90YXJnZXQobGlieGxfY3R4ICpjdHgs IHVpbnQzMl90IGRvbWlkLCB1aW50MzJfdCAqb3V0X3RhcmdldCk7Ci0KK2ludCBsaWJ4bF9kb21h aW5fc2V0bWF4bWVtKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgdWludDY0X3QgdGFy Z2V0X21lbWtiKTsKK2ludCBsaWJ4bF9zZXRfbWVtb3J5X3RhcmdldChsaWJ4bF9jdHggKmN0eCwg dWludDMyX3QgZG9taWQsIGludDY0X3QgdGFyZ2V0X21lbWtiLCBpbnQgcmVsYXRpdmUsIGludCBl bmZvcmNlKTsKK2ludCBsaWJ4bF9nZXRfbWVtb3J5X3RhcmdldChsaWJ4bF9jdHggKmN0eCwgdWlu dDMyX3QgZG9taWQsIHVpbnQ2NF90ICpvdXRfdGFyZ2V0KTsKK2ludCBsaWJ4bF9nZXRfbWVtb3J5 X3RhcmdldF8weDA0MDcwMChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKm91dF90YXJnZXQpCisgICAg TElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwogCiAvKgogICogV0FSTklORwpAQCAtMTM5Miwx MSArMTQwNSwxNyBAQCBpbnQgbGlieGxfZ2V0X21lbW9yeV90YXJnZXQobGlieGxfY3R4ICpjdHgs IHVpbnQzMl90IGRvbWlkLCB1aW50MzJfdCAqb3V0X3RhcmdldAogLyogaG93IG11Y2ggZnJlZSBt ZW1vcnkgaW4gdGhlIHN5c3RlbSBhIGRvbWFpbiBuZWVkcyB0byBiZSBidWlsdCAqLwogaW50IGxp YnhsX2RvbWFpbl9uZWVkX21lbW9yeShsaWJ4bF9jdHggKmN0eCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmJfaW5mb19pbiwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKm5lZWRfbWVta2IpOworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqbmVlZF9tZW1rYik7CitpbnQgbGlieGxf ZG9tYWluX25lZWRfbWVtb3J5XzB4MDQwNzAwKGxpYnhsX2N0eCAqY3R4LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAq Yl9pbmZvX2luLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCAqbmVlZF9tZW1rYikKKyAgICBMSUJYTF9FWFRFUk5BTF9DQUxMRVJTX09OTFk7CiAvKiBob3cg bXVjaCBmcmVlIG1lbW9yeSBpcyBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbSAqLwotaW50IGxpYnhs X2dldF9mcmVlX21lbW9yeShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgKm1lbWtiKTsKK2ludCBs aWJ4bF9nZXRfZnJlZV9tZW1vcnkobGlieGxfY3R4ICpjdHgsIHVpbnQ2NF90ICptZW1rYik7Citp bnQgbGlieGxfZ2V0X2ZyZWVfbWVtb3J5XzB4MDQwNzAwKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJf dCAqbWVta2IpCisgICAgTElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwogLyogd2FpdCBmb3Ig YSBnaXZlbiBhbW91bnQgb2YgbWVtb3J5IHRvIGJlIGZyZWUgaW4gdGhlIHN5c3RlbSAqLwotaW50 IGxpYnhsX3dhaXRfZm9yX2ZyZWVfbWVtb3J5KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21p ZCwgdWludDMyX3QgbWVtb3J5X2tiLCBpbnQgd2FpdF9zZWNzKTsKK2ludCBsaWJ4bF93YWl0X2Zv cl9mcmVlX21lbW9yeShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIHVpbnQ2NF90IG1l bW9yeV9rYiwgaW50IHdhaXRfc2Vjcyk7CiAvKgogICogV2FpdCBmb3IgdGhlIG1lbW9yeSB0YXJn ZXQgb2YgYSBkb21haW4gdG8gYmUgcmVhY2hlZC4gRG9lcyBub3QKICAqIGRlY3JlbWVudCB3YWl0 X3NlY3MgaWYgdGhlIGRvbWFpbiBpcyBtYWtpbmcgcHJvZ3Jlc3MgdG93YXJkIHJlYWNoaW5nCkBA IC0xNDEyLDYgKzE0MzEsMTIgQEAgaW50IGxpYnhsX3dhaXRfZm9yX2ZyZWVfbWVtb3J5KGxpYnhs X2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgdWludDMyX3QgbWVtb3J5X2sKICAqLwogaW50IGxp YnhsX3dhaXRfZm9yX21lbW9yeV90YXJnZXQobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlk LCBpbnQgd2FpdF9zZWNzKTsKIAorI2lmIGRlZmluZWQoTElCWExfQVBJX1ZFUlNJT04pICYmIExJ QlhMX0FQSV9WRVJTSU9OIDwgMHgwNDA4MDAKKyNkZWZpbmUgbGlieGxfZ2V0X21lbW9yeV90YXJn ZXQgbGlieGxfZ2V0X21lbW9yeV90YXJnZXRfMHgwNDA3MDAKKyNkZWZpbmUgbGlieGxfZG9tYWlu X25lZWRfbWVtb3J5IGxpYnhsX2RvbWFpbl9uZWVkX21lbW9yeV8weDA0MDcwMAorI2RlZmluZSBs aWJ4bF9nZXRfZnJlZV9tZW1vcnkgbGlieGxfZ2V0X2ZyZWVfbWVtb3J5XzB4MDQwNzAwCisjZW5k aWYKKwogaW50IGxpYnhsX3ZuY3ZpZXdlcl9leGVjKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBk b21pZCwgaW50IGF1dG9wYXNzKTsKIGludCBsaWJ4bF9jb25zb2xlX2V4ZWMobGlieGxfY3R4ICpj dHgsIHVpbnQzMl90IGRvbWlkLCBpbnQgY29uc19udW0sIGxpYnhsX2NvbnNvbGVfdHlwZSB0eXBl KTsKIC8qIGxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVjIGZpbmRzIHRoZSBkb21pZCBhbmQgY29u c29sZSBudW1iZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMv bGlieGwvbGlieGxfZG9tLmMKaW5kZXggZWMyOTA2MC4uZWVmNTA0NSAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGwvbGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKQEAgLTEy Myw3ICsxMjMsNyBAQCBzdGF0aWMgaW50IG51bWFfcGxhY2VfZG9tYWluKGxpYnhsX19nYyAqZ2Ms IHVpbnQzMl90IGRvbWlkLAogICAgIGxpYnhsX2JpdG1hcCBjcHVwb29sX25vZGVtYXA7CiAgICAg bGlieGxfY3B1cG9vbGluZm8gY3B1cG9vbF9pbmZvOwogICAgIGludCBpLCBjcHVwb29sLCByYyA9 IDA7Ci0gICAgdWludDMyX3QgbWVta2I7CisgICAgdWludDY0X3QgbWVta2I7CiAKICAgICBsaWJ4 bF9fbnVtYV9jYW5kaWRhdGVfaW5pdCgmY2FuZGlkYXRlKTsKICAgICBsaWJ4bF9iaXRtYXBfaW5p dCgmY3B1cG9vbF9ub2RlbWFwKTsKQEAgLTE3OCw3ICsxNzgsNyBAQCBzdGF0aWMgaW50IG51bWFf cGxhY2VfZG9tYWluKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogICAgIH0KIAogICAg IExPRyhERVRBSUwsICJOVU1BIHBsYWNlbWVudCBjYW5kaWRhdGUgd2l0aCAlZCBub2RlcywgJWQg Y3B1cyBhbmQgIgotICAgICAgICAgICAgICAgICIlIlBSSXUzMiIgS0IgZnJlZSBzZWxlY3RlZCIs IGNhbmRpZGF0ZS5ucl9ub2RlcywKKyAgICAgICAgICAgICAgICAiJSJQUkl1NjQiIEtCIGZyZWUg c2VsZWN0ZWQiLCBjYW5kaWRhdGUubnJfbm9kZXMsCiAgICAgICAgICAgICAgICAgY2FuZGlkYXRl Lm5yX2NwdXMsIGNhbmRpZGF0ZS5mcmVlX21lbWtiIC8gMTAyNCk7CiAKICBvdXQ6CmRpZmYgLS1n aXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50 ZXJuYWwuaAppbmRleCA1MzQ3YjY5Li4yMzlkNzAxIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAgLTM4 OTIsNyArMzg5Miw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBsaWJ4bF9fY3R4X3VubG9jayhsaWJ4 bF9jdHggKmN0eCkgewogdHlwZWRlZiBzdHJ1Y3QgewogICAgIGludCBucl9jcHVzLCBucl9ub2Rl czsKICAgICBpbnQgbnJfdmNwdXM7Ci0gICAgdWludDMyX3QgZnJlZV9tZW1rYjsKKyAgICB1aW50 NjRfdCBmcmVlX21lbWtiOwogICAgIGxpYnhsX2JpdG1hcCBub2RlbWFwOwogfSBsaWJ4bF9fbnVt YV9jYW5kaWRhdGU7CiAKQEAgLTM5MzIsNyArMzkzMiw3IEBAIHR5cGVkZWYgaW50ICgqbGlieGxf X251bWFfY2FuZGlkYXRlX2NtcGYpKGNvbnN0IGxpYnhsX19udW1hX2NhbmRpZGF0ZSAqYzEsCiAg KiBpdC4KICAqLwogX2hpZGRlbiBpbnQgbGlieGxfX2dldF9udW1hX2NhbmRpZGF0ZShsaWJ4bF9f Z2MgKmdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBt aW5fZnJlZV9tZW1rYiwgaW50IG1pbl9jcHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50NjRfdCBtaW5fZnJlZV9tZW1rYiwgaW50IG1pbl9jcHVzLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWluX25vZGVzLCBpbnQgbWF4X25v ZGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9i aXRtYXAgKnN1aXRhYmxlX2NwdW1hcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfX251bWFfY2FuZGlkYXRlX2NtcGYgbnVtYV9jbXBmLApkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGwvbGlieGxfbnVtYS5jIGIvdG9vbHMvbGlieGwvbGlieGxfbnVtYS5jCmluZGV4 IDk0Y2E0ZmUuLjMzMjg5ZDUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX251bWEuYwor KysgYi90b29scy9saWJ4bC9saWJ4bF9udW1hLmMKQEAgLTI4NSw3ICsyODUsNyBAQCBzdGF0aWMg aW50IGNvdW50X2NwdXNfcGVyX25vZGUobGlieGxfY3B1dG9wb2xvZ3kgKnRpbmZvLCBpbnQgbnJf Y3B1cywKICAqIGNvbXBhcmlzb24gZnVuY3Rpb24uCiAgKi8KIGludCBsaWJ4bF9fZ2V0X251bWFf Y2FuZGlkYXRlKGxpYnhsX19nYyAqZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50MzJfdCBtaW5fZnJlZV9tZW1rYiwgaW50IG1pbl9jcHVzLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDY0X3QgbWluX2ZyZWVfbWVta2IsIGludCBtaW5fY3B1cywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtaW5fbm9kZXMsIGludCBtYXhfbm9kZXMsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9iaXRtYXAgKnN1aXRhYmxl X2NwdW1hcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19udW1hX2NhbmRp ZGF0ZV9jbXBmIG51bWFfY21wZiwKQEAgLTQzNiw3ICs0MzYsNyBAQCBpbnQgbGlieGxfX2dldF9u dW1hX2NhbmRpZGF0ZShsaWJ4bF9fZ2MgKmdjLAogICAgICAgICBmb3IgKGNvbWJfb2sgPSBjb21i X2luaXQoZ2MsICZjb21iX2l0ZXIsIG5yX3N1aXRfbm9kZXMsIG1pbl9ub2Rlcyk7CiAgICAgICAg ICAgICAgY29tYl9vazsKICAgICAgICAgICAgICBjb21iX29rID0gY29tYl9uZXh0KGNvbWJfaXRl ciwgbnJfc3VpdF9ub2RlcywgbWluX25vZGVzKSkgewotICAgICAgICAgICAgdWludDMyX3Qgbm9k ZXNfZnJlZV9tZW1rYjsKKyAgICAgICAgICAgIHVpbnQ2NF90IG5vZGVzX2ZyZWVfbWVta2I7CiAg ICAgICAgICAgICBpbnQgbm9kZXNfY3B1czsKIAogICAgICAgICAgICAgLyogR2V0IHRoZSBub2Rl bWFwIGZvciB0aGUgY29tYmluYXRpb24sIG9ubHkgY29uc2lkZXJpbmcKQEAgLTQ3OCw3ICs0Nzgs NyBAQCBpbnQgbGlieGxfX2dldF9udW1hX2NhbmRpZGF0ZShsaWJ4bF9fZ2MgKmdjLAogCiAgICAg ICAgICAgICAgICAgTE9HKERFQlVHLCAiTmV3IGJlc3QgTlVNQSBwbGFjZW1lbnQgY2FuZGlkYXRl IGZvdW5kOiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnJfbm9kZXM9JWQsIG5yX2Nw dXM9JWQsIG5yX3ZjcHVzPSVkLCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJlZV9t ZW1rYj0lIlBSSXUzMiIiLCBuZXdfY25kdC5ucl9ub2RlcywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICJmcmVlX21lbWtiPSUiUFJJdTY0IiIsIG5ld19jbmR0Lm5yX25vZGVzLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgbmV3X2NuZHQubnJfY3B1cywgbmV3X2NuZHQubnJfdmNwdXMs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfY25kdC5mcmVlX21lbWtiIC8gMTAyNCk7 CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYyBiL3Rvb2xzL2xpYnhsL3hs X2NtZGltcGwuYwppbmRleCA5MjY3ZGU4Li5lZDQ1YmMwIDEwMDY0NAotLS0gYS90b29scy9saWJ4 bC94bF9jbWRpbXBsLmMKKysrIGIvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCkBAIC0yNjg4LDcg KzI2ODgsNyBAQCBzdGF0aWMgaW50IHByZXNlcnZlX2RvbWFpbih1aW50MzJfdCAqcl9kb21pZCwg bGlieGxfZXZlbnQgKmV2ZW50LAogc3RhdGljIGJvb2wgZnJlZW1lbSh1aW50MzJfdCBkb21pZCwg bGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmJfaW5mbykKIHsKICAgICBpbnQgcmMsIHJldHJpZXMg PSAzOwotICAgIHVpbnQzMl90IG5lZWRfbWVta2IsIGZyZWVfbWVta2I7CisgICAgdWludDY0X3Qg bmVlZF9tZW1rYiwgZnJlZV9tZW1rYjsKIAogICAgIGlmICghYXV0b2JhbGxvb24pCiAgICAgICAg IHJldHVybiB0cnVlOwotLSAKMi42LjYKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK