From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v4 1/5] libxl: constify copy and length calculation functions Date: Mon, 11 Jul 2016 16:49:33 +0100 Message-ID: <1468252177-12625-2-git-send-email-wei.liu2@citrix.com> References: <1468252177-12625-1-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bMdSr-0005N0-2r for xen-devel@lists.xenproject.org; Mon, 11 Jul 2016 15:49:45 +0000 In-Reply-To: <1468252177-12625-1-git-send-email-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org VGhlc2UgZnVuY3Rpb25zIGFyZSBub3Qgc3VwcG9zZWQgdG8gbW9kaWZ5IHRoZSBwYXNzZWQgaW4g cGFyYW1ldGVycy4KUmVmbGVjdCB0aGF0IGluIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucy4KCk1hcmsg dGhlIGNoYW5nZSBpbiBBUElzIGluIGxpYnhsLmgKClNpZ25lZC1vZmYtYnk6IFdlaSBMaXUgPHdl aS5saXUyQGNpdHJpeC5jb20+Ci0tLQpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNp dHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGwvZ2VudHlwZXMucHkgICAgICB8ICA0ICsrLS0KIHRv b2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAgfCAxMCArKysrKy0tLS0tCiB0b29scy9saWJ4bC9s aWJ4bC5oICAgICAgICAgIHwgMjMgKysrKysrKysrKysrKysrLS0tLS0tLS0KIHRvb2xzL2xpYnhs L2xpYnhsX2NwdWlkLmMgICAgfCAgNCArKy0tCiB0b29scy9saWJ4bC9saWJ4bF9nZW5pZC5jICAg IHwgIDIgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgMiArLQogdG9vbHMvbGli eGwvbGlieGxfdXRpbHMuYyAgICB8ICAyICstCiB0b29scy9saWJ4bC9saWJ4bF91dGlscy5oICAg IHwgIDIgKy0KIDggZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvZ2VudHlwZXMucHkgYi90b29scy9saWJ4bC9n ZW50eXBlcy5weQppbmRleCAwMDgxNmMwLi40ZWE3MDkxIDEwMDY0NAotLS0gYS90b29scy9saWJ4 bC9nZW50eXBlcy5weQorKysgYi90b29scy9saWJ4bC9nZW50eXBlcy5weQpAQCAtNTQ0LDcgKzU0 NCw3IEBAIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgICAgIGlmIHR5LmRpc3Bvc2Vf Zm4gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBmLndyaXRlKCIlc3ZvaWQgJXMoJXMpO1xuIiAl ICh0eS5oaWRkZW4oKSwgdHkuZGlzcG9zZV9mbiwgdHkubWFrZV9hcmcoInAiKSkpCiAgICAgICAg IGlmIHR5LmNvcHlfZm4gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBmLndyaXRlKCIlc3ZvaWQg JXMobGlieGxfY3R4ICpjdHgsICVzLCAlcyk7XG4iICUgKHR5LmhpZGRlbigpLCB0eS5jb3B5X2Zu LAorICAgICAgICAgICAgZi53cml0ZSgiJXN2b2lkICVzKGxpYnhsX2N0eCAqY3R4LCAlcywgY29u c3QgJXMpO1xuIiAlICh0eS5oaWRkZW4oKSwgdHkuY29weV9mbiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eS5tYWtlX2FyZygiZHN0IiksIHR5Lm1ha2Vf YXJnKCJzcmMiKSkpCiAgICAgICAgIGlmIHR5LmluaXRfZm4gaXMgbm90IE5vbmU6CiAgICAgICAg ICAgICBmLndyaXRlKCIlc3ZvaWQgJXMoJXMpO1xuIiAlICh0eS5oaWRkZW4oKSwgdHkuaW5pdF9m biwgdHkubWFrZV9hcmcoInAiKSkpCkBAIC02NDksNyArNjQ5LDcgQEAgaWYgX19uYW1lX18gPT0g J19fbWFpbl9fJzoKICAgICAgICAgZi53cml0ZSgiXG4iKQogCiAgICAgZm9yIHR5IGluIFt0IGZv ciB0IGluIHR5cGVzIGlmIHQuY29weV9mbiBhbmQgdC5hdXRvZ2VuZXJhdGVfY29weV9mbl06Ci0g ICAgICAgIGYud3JpdGUoInZvaWQgJXMobGlieGxfY3R4ICpjdHgsICVzLCAlcylcbiIgJSAodHku Y29weV9mbiwKKyAgICAgICAgZi53cml0ZSgidm9pZCAlcyhsaWJ4bF9jdHggKmN0eCwgJXMsIGNv bnN0ICVzKVxuIiAlICh0eS5jb3B5X2ZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdHkubWFrZV9hcmcoImRzdCIsIHBhc3NieT1pZGwuUEFTU19CWV9SRUZFUkVOQ0Up LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHkubWFrZV9hcmcoInNy YyIsIHBhc3NieT1pZGwuUEFTU19CWV9SRUZFUkVOQ0UpKSkKICAgICAgICAgZi53cml0ZSgie1xu IikKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9saWJ4bC5j CmluZGV4IDFjODEyMzkuLjBjMzRkNmIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMK KysrIGIvdG9vbHMvbGlieGwvbGlieGwuYwpAQCAtMjM0LDcgKzIzNCw3IEBAIHZvaWQgbGlieGxf c3RyaW5nX2xpc3RfZGlzcG9zZShsaWJ4bF9zdHJpbmdfbGlzdCAqcHNsKQogCiB2b2lkIGxpYnhs X3N0cmluZ19saXN0X2NvcHkobGlieGxfY3R4ICpjdHgsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfc3RyaW5nX2xpc3QgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9zdHJpbmdfbGlzdCAqc3JjKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IGxpYnhsX3N0cmluZ19saXN0ICpzcmMpCiB7CiAgICAgR0NfSU5JVChjdHgpOwogICAgIGlu dCBpLCBsZW47CkBAIC0yNjYsNyArMjY2LDcgQEAgaW50IGxpYnhsX3N0cmluZ19saXN0X2xlbmd0 aChjb25zdCBsaWJ4bF9zdHJpbmdfbGlzdCAqcHNsKQogICAgIHJldHVybiBpOwogfQogCi1pbnQg bGlieGxfa2V5X3ZhbHVlX2xpc3RfbGVuZ3RoKGxpYnhsX2tleV92YWx1ZV9saXN0ICpwa3ZsKQor aW50IGxpYnhsX2tleV92YWx1ZV9saXN0X2xlbmd0aChjb25zdCBsaWJ4bF9rZXlfdmFsdWVfbGlz dCAqcGt2bCkKIHsKICAgICBpbnQgaSA9IDA7CiAgICAgbGlieGxfa2V5X3ZhbHVlX2xpc3Qga3Zs ID0gKnBrdmw7CkBAIC0zMDEsNyArMzAxLDcgQEAgdm9pZCBsaWJ4bF9rZXlfdmFsdWVfbGlzdF9k aXNwb3NlKGxpYnhsX2tleV92YWx1ZV9saXN0ICpwa3ZsKQogCiB2b2lkIGxpYnhsX2tleV92YWx1 ZV9saXN0X2NvcHkobGlieGxfY3R4ICpjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlieGxfa2V5X3ZhbHVlX2xpc3QgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9rZXlfdmFsdWVfbGlzdCAqc3JjKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGxpYnhsX2tleV92YWx1ZV9saXN0ICpzcmMpCiB7CiAgICAgR0NfSU5JVChj dHgpOwogICAgIGludCBpLCBsZW47CkBAIC03MjI3LDcgKzcyMjcsNyBAQCBvdXRfZXJyOgogCiB9 CiAKLXZvaWQgbGlieGxfaHdjYXBfY29weShsaWJ4bF9jdHggKmN0eCxsaWJ4bF9od2NhcCAqZHN0 LCBsaWJ4bF9od2NhcCAqc3JjKQordm9pZCBsaWJ4bF9od2NhcF9jb3B5KGxpYnhsX2N0eCAqY3R4 LGxpYnhsX2h3Y2FwICpkc3QsIGNvbnN0IGxpYnhsX2h3Y2FwICpzcmMpCiB7CiAgICAgaW50IGk7 CiAKQEAgLTcyMzUsNyArNzIzNSw3IEBAIHZvaWQgbGlieGxfaHdjYXBfY29weShsaWJ4bF9jdHgg KmN0eCxsaWJ4bF9od2NhcCAqZHN0LCBsaWJ4bF9od2NhcCAqc3JjKQogICAgICAgICAoKmRzdClb aV0gPSAoKnNyYylbaV07CiB9CiAKLXZvaWQgbGlieGxfbWFjX2NvcHkobGlieGxfY3R4ICpjdHgs IGxpYnhsX21hYyAqZHN0LCBsaWJ4bF9tYWMgKnNyYykKK3ZvaWQgbGlieGxfbWFjX2NvcHkobGli eGxfY3R4ICpjdHgsIGxpYnhsX21hYyAqZHN0LCBjb25zdCBsaWJ4bF9tYWMgKnNyYykKIHsKICAg ICBpbnQgaTsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaCBiL3Rvb2xzL2xpYnhs L2xpYnhsLmgKaW5kZXggMmMwZjg2OC4uZjI4NDNmZCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv bGlieGwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC02Nyw2ICs2NywxMyBAQAogICog dGhlIHNhbWUgJChYRU5fVkVSU0lPTikgKGUuZy4gdGhyb3VnaG91dCBhIG1ham9yIHJlbGVhc2Up LgogICovCiAKKy8qIExJQlhMX0hBVkVfQ09OU1RfQ09QWV9BTkRfTEVOR1RIX0ZVTkNUSU9OUwor ICoKKyAqIElmIHRoaXMgaXMgZGVmaW5lZCwgdGhlIGNvcHkgZnVuY3Rpb25zIGhhdmUgY29uc3Rp ZmllZCBzcmMgcGFyYW1ldGVyIGFuZCB0aGUKKyAqIGxlbmd0aCBmdW5jdGlvbnMgYWNjZXB0IGNv bnN0aWZpZWQgcGFyYW1ldGVyLgorICovCisjZGVmaW5lIExJQlhMX0hBVkVfQ09OU1RfQ09QWV9B TkRfTEVOR1RIX0ZVTkNUSU9OUyAxCisKIC8qIExJQlhMX0hBVkVfVk5VTUEKICAqCiAgKiBJZiB0 aGlzIGlzIGRlZmluZWQgdGhlIHR5cGUgbGlieGxfdm5vZGVfaW5mbyBleGlzdHMsIGFuZCBhCkBA IC04MzksNyArODQ2LDcgQEAgdHlwZWRlZiB1aW50OF90IGxpYnhsX21hY1s2XTsKICNkZWZpbmUg TElCWExfTUFDX0ZNVCAiJTAyaGh4OiUwMmhoeDolMDJoaHg6JTAyaGh4OiUwMmhoeDolMDJoaHgi CiAjZGVmaW5lIExJQlhMX01BQ19GTVRMRU4gKCgyKjYpKzUpIC8qIDYgaGV4IGJ5dGVzIHBsdXMg NSBjb2xvbnMgKi8KICNkZWZpbmUgTElCWExfTUFDX0JZVEVTKG1hYykgbWFjWzBdLCBtYWNbMV0s IG1hY1syXSwgbWFjWzNdLCBtYWNbNF0sIG1hY1s1XQotdm9pZCBsaWJ4bF9tYWNfY29weShsaWJ4 bF9jdHggKmN0eCwgbGlieGxfbWFjICpkc3QsIGxpYnhsX21hYyAqc3JjKTsKK3ZvaWQgbGlieGxf bWFjX2NvcHkobGlieGxfY3R4ICpjdHgsIGxpYnhsX21hYyAqZHN0LCBjb25zdCBsaWJ4bF9tYWMg KnNyYyk7CiAKICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCiAv KgpAQCAtOTYyLDE3ICs5NjksMTcgQEAgdHlwZWRlZiBjaGFyICoqbGlieGxfc3RyaW5nX2xpc3Q7 CiB2b2lkIGxpYnhsX3N0cmluZ19saXN0X2Rpc3Bvc2UobGlieGxfc3RyaW5nX2xpc3QgKnNsKTsK IGludCBsaWJ4bF9zdHJpbmdfbGlzdF9sZW5ndGgoY29uc3QgbGlieGxfc3RyaW5nX2xpc3QgKnNs KTsKIHZvaWQgbGlieGxfc3RyaW5nX2xpc3RfY29weShsaWJ4bF9jdHggKmN0eCwgbGlieGxfc3Ry aW5nX2xpc3QgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9zdHJpbmdf bGlzdCAqc3JjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9zdHJp bmdfbGlzdCAqc3JjKTsKIAogdHlwZWRlZiBjaGFyICoqbGlieGxfa2V5X3ZhbHVlX2xpc3Q7CiB2 b2lkIGxpYnhsX2tleV92YWx1ZV9saXN0X2Rpc3Bvc2UobGlieGxfa2V5X3ZhbHVlX2xpc3QgKmt2 bCk7Ci1pbnQgbGlieGxfa2V5X3ZhbHVlX2xpc3RfbGVuZ3RoKGxpYnhsX2tleV92YWx1ZV9saXN0 ICprdmwpOworaW50IGxpYnhsX2tleV92YWx1ZV9saXN0X2xlbmd0aChjb25zdCBsaWJ4bF9rZXlf dmFsdWVfbGlzdCAqa3ZsKTsKIHZvaWQgbGlieGxfa2V5X3ZhbHVlX2xpc3RfY29weShsaWJ4bF9j dHggKmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9rZXlfdmFsdWVf bGlzdCAqZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2tleV92YWx1 ZV9saXN0ICpzcmMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhs X2tleV92YWx1ZV9saXN0ICpzcmMpOwogCiB0eXBlZGVmIHVpbnQzMl90IGxpYnhsX2h3Y2FwWzhd Owotdm9pZCBsaWJ4bF9od2NhcF9jb3B5KGxpYnhsX2N0eCAqY3R4LCBsaWJ4bF9od2NhcCAqZHN0 LCBsaWJ4bF9od2NhcCAqc3JjKTsKK3ZvaWQgbGlieGxfaHdjYXBfY29weShsaWJ4bF9jdHggKmN0 eCwgbGlieGxfaHdjYXAgKmRzdCwgY29uc3QgbGlieGxfaHdjYXAgKnNyYyk7CiAKIHR5cGVkZWYg dWludDY0X3QgbGlieGxfZXZfdXNlcjsKIApAQCAtOTkwLDEwICs5OTcsMTAgQEAgdm9pZCBsaWJ4 bF9iaXRtYXBfZGlzcG9zZShsaWJ4bF9iaXRtYXAgKm1hcCk7CiB0eXBlZGVmIHN0cnVjdCBsaWJ4 bF9fY3B1aWRfcG9saWN5IGxpYnhsX2NwdWlkX3BvbGljeTsKIHR5cGVkZWYgbGlieGxfY3B1aWRf cG9saWN5ICogbGlieGxfY3B1aWRfcG9saWN5X2xpc3Q7CiB2b2lkIGxpYnhsX2NwdWlkX2Rpc3Bv c2UobGlieGxfY3B1aWRfcG9saWN5X2xpc3QgKmNwdWlkX2xpc3QpOwotaW50IGxpYnhsX2NwdWlk X3BvbGljeV9saXN0X2xlbmd0aChsaWJ4bF9jcHVpZF9wb2xpY3lfbGlzdCAqbCk7CitpbnQgbGli eGxfY3B1aWRfcG9saWN5X2xpc3RfbGVuZ3RoKGNvbnN0IGxpYnhsX2NwdWlkX3BvbGljeV9saXN0 ICpsKTsKIHZvaWQgbGlieGxfY3B1aWRfcG9saWN5X2xpc3RfY29weShsaWJ4bF9jdHggKmN0eCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9jcHVpZF9wb2xpY3lfbGlz dCAqZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2NwdWlkX3Bv bGljeV9saXN0ICpzcmMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGxpYnhsX2NwdWlkX3BvbGljeV9saXN0ICpzcmMpOwogCiAjZGVmaW5lIExJQlhMX1BDSV9GVU5D X0FMTCAofjBVKQogCkBAIC0yMDA0LDcgKzIwMTEsNyBAQCBpbnQgbGlieGxfZmxhc2tfbG9hZHBv bGljeShsaWJ4bF9jdHggKmN0eCwgdm9pZCAqcG9saWN5LCB1aW50MzJfdCBzaXplKTsKIGludCBs aWJ4bF9tc192bV9nZW5pZF9nZW5lcmF0ZShsaWJ4bF9jdHggKmN0eCwgbGlieGxfbXNfdm1fZ2Vu aWQgKmlkKTsKIGJvb2wgbGlieGxfbXNfdm1fZ2VuaWRfaXNfemVybyhjb25zdCBsaWJ4bF9tc192 bV9nZW5pZCAqaWQpOwogdm9pZCBsaWJ4bF9tc192bV9nZW5pZF9jb3B5KGxpYnhsX2N0eCAqY3R4 LCBsaWJ4bF9tc192bV9nZW5pZCAqZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX21zX3ZtX2dlbmlkICpzcmMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGxpYnhsX21zX3ZtX2dlbmlkICpzcmMpOwogCiAjaWZkZWYgTElCWExfSEFWRV9QU1JfQ01UCiBp bnQgbGlieGxfcHNyX2NtdF9hdHRhY2gobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkKTsK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NwdWlkLmMgYi90b29scy9saWJ4bC9saWJ4 bF9jcHVpZC5jCmluZGV4IGZjMjAxNTcuLjI0NTkxZTIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsX2NwdWlkLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfY3B1aWQuYwpAQCAtNDY1LDcg KzQ2NSw3IEBAIGludCBsaWJ4bF9fY3B1aWRfcG9saWN5X2xpc3RfcGFyc2VfanNvbihsaWJ4bF9f Z2MgKmdjLAogICAgIHJldHVybiAwOwogfQogCi1pbnQgbGlieGxfY3B1aWRfcG9saWN5X2xpc3Rf bGVuZ3RoKGxpYnhsX2NwdWlkX3BvbGljeV9saXN0ICpwbCkKK2ludCBsaWJ4bF9jcHVpZF9wb2xp Y3lfbGlzdF9sZW5ndGgoY29uc3QgbGlieGxfY3B1aWRfcG9saWN5X2xpc3QgKnBsKQogewogICAg IGludCBpID0gMDsKICAgICBsaWJ4bF9jcHVpZF9wb2xpY3lfbGlzdCBsID0gKnBsOwpAQCAtNDgw LDcgKzQ4MCw3IEBAIGludCBsaWJ4bF9jcHVpZF9wb2xpY3lfbGlzdF9sZW5ndGgobGlieGxfY3B1 aWRfcG9saWN5X2xpc3QgKnBsKQogCiB2b2lkIGxpYnhsX2NwdWlkX3BvbGljeV9saXN0X2NvcHko bGlieGxfY3R4ICpjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf Y3B1aWRfcG9saWN5X2xpc3QgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9jcHVpZF9wb2xpY3lfbGlzdCAqc3JjKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGxpYnhsX2NwdWlkX3BvbGljeV9saXN0ICpzcmMpCiB7CiAgICAgR0Nf SU5JVChjdHgpOwogICAgIGludCBpLCBqLCBsZW47CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9s aWJ4bF9nZW5pZC5jIGIvdG9vbHMvbGlieGwvbGlieGxfZ2VuaWQuYwppbmRleCBmMWM0ZWI3Li43 ZjUyMzU2IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9nZW5pZC5jCisrKyBiL3Rvb2xz L2xpYnhsL2xpYnhsX2dlbmlkLmMKQEAgLTUyLDcgKzUyLDcgQEAgYm9vbCBsaWJ4bF9tc192bV9n ZW5pZF9pc196ZXJvKGNvbnN0IGxpYnhsX21zX3ZtX2dlbmlkICppZCkKIH0KIAogdm9pZCBsaWJ4 bF9tc192bV9nZW5pZF9jb3B5KGxpYnhsX2N0eCAqY3R4LCBsaWJ4bF9tc192bV9nZW5pZCAqZHN0 LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX21zX3ZtX2dlbmlkICpzcmMpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfbXNfdm1fZ2VuaWQgKnNyYykK IHsKICAgICBtZW1jcHkoZHN0LCBzcmMsIExJQlhMX01TX1ZNX0dFTklEX0xFTik7CiB9CmRpZmYg LS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxf aW50ZXJuYWwuaAppbmRleCBlN2FiODVkLi5kZTc3NTc5IDEwMDY0NAotLS0gYS90b29scy9saWJ4 bC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAg LTQwOTUsNyArNDA5NSw3IEBAIHZvaWQgbGlieGxfX3VwZGF0ZV9kb21haW5fY29uZmlndXJhdGlv bihsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGxpYnhsX2RvbWFpbl9jb25maWcgKnNyYyk7CiBzdGF0aWMgaW5saW5lIHZvaWQgbGli eGxfX3VwZGF0ZV9jb25maWdfbmljKGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV9uaWMgKmRzdCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX25pYyAqc3Jj KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4 bF9kZXZpY2VfbmljICpzcmMpCiB7CiAgICAgZHN0LT5kZXZpZCA9IHNyYy0+ZGV2aWQ7CiAgICAg ZHN0LT5uaWN0eXBlID0gc3JjLT5uaWN0eXBlOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli eGxfdXRpbHMuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3V0aWxzLmMKaW5kZXggNjEwOGQ0Yi4uMTYw N2Q0ZiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfdXRpbHMuYworKysgYi90b29scy9s aWJ4bC9saWJ4bF91dGlscy5jCkBAIC0xMjcxLDcgKzEyNzEsNyBAQCBpbnQgbGlieGxfZG9taWRf dmFsaWRfZ3Vlc3QodWludDMyX3QgZG9taWQpCiAgICAgcmV0dXJuIGRvbWlkID4gMCAmJiBkb21p ZCA8IERPTUlEX0ZJUlNUX1JFU0VSVkVEOwogfQogCi12b2lkIGxpYnhsX3N0cmluZ19jb3B5KGxp YnhsX2N0eCAqY3R4LCBjaGFyICoqZHN0LCBjaGFyICoqc3JjKQordm9pZCBsaWJ4bF9zdHJpbmdf Y29weShsaWJ4bF9jdHggKmN0eCwgY2hhciAqKmRzdCwgY2hhciAqIGNvbnN0KnNyYykKIHsKICAg ICBHQ19JTklUKGN0eCk7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3V0aWxzLmgg Yi90b29scy9saWJ4bC9saWJ4bF91dGlscy5oCmluZGV4IDQ0OTU0MTcuLjI1NzczZDggMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3V0aWxzLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxf dXRpbHMuaApAQCAtMTY3LDcgKzE2Nyw3IEBAIGludCBsaWJ4bF9jcHVtYXBfdG9fbm9kZW1hcChs aWJ4bF9jdHggKmN0eCwKICAgICByZXR1cm4gKHMgKyAxMDIzKSAvIDEwMjQ7CiB9CiAKLXZvaWQg bGlieGxfc3RyaW5nX2NvcHkobGlieGxfY3R4ICpjdHgsIGNoYXIgKipkc3QsIGNoYXIgKipzcmMp Owordm9pZCBsaWJ4bF9zdHJpbmdfY29weShsaWJ4bF9jdHggKmN0eCwgY2hhciAqKmRzdCwgY2hh ciAqIGNvbnN0KnNyYyk7CiAKIAogI2RlZmluZSBMSUJYTF9GSUxMWkVSTyhvYmplY3QpIChtZW1z ZXQoJihvYmplY3QpLCAwLCBzaXplb2YoKG9iamVjdCkpKSkKLS0gCjIuMS40CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==