From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 6/7] xen/domain: Pass the full domctl_createdomain struct to create_domain() Date: Fri, 9 Mar 2018 13:18:41 +0000 Message-ID: <1520601522-2886-7-git-send-email-andrew.cooper3@citrix.com> References: <1520601522-2886-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1520601522-2886-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org SW4gZnV0dXJlIHBhdGNoZXMsIHRoZSBzdHJ1Y3R1cmUgd2lsbCBiZSBleHRlbmRlZCB3aXRoIGZ1 cnRoZXIgaW5mb3JtYXRpb24sCmFuZCB0aGlzIGlzIGZhciBjbGVhbmVyIHRoYW4gYWRkaW5nIGV4 dHJhIHBhcmFtZXRlcnMuCgpPbmUgbWlub3IgdHdlYWsgaXMgdGhhdCB0aGUgc2V0dGluZyBvZiBn dWVzdF90eXBlIG5lZWRzIHRvIGJlIGRlZmVycmVkIHVudGlsCmNvbmZpZyBpcyBrbm93bi1nb29k IHRvIGRlcmVmZXJlbmNlLCBidXQgdGhpcyBkb2Vzbid0IHJlc3VsdCBpbiBhbnkgY2hhbmdlZApi ZWhhdmlvdXIgYXMgc3lzdGVtIGRvbWFpbnMgbmV2ZXIgdXNlZCB0byBwYXNzIFhFTl9ET01DVExf Q0RGX2h2bV9ndWVzdC4KCkFsc28gZm9yIGNvbXBsZXRlbmVzcywgbW92ZSB0aGUgc2V0dGluZyBv ZiBkLT5oYW5kbGUgaW50byB0aGUgdGFpbCBvZgpkb21haW5fY3JlYXRlKCkgd2hlcmUgaXQgbW9y ZSBsb2dpY2FsbHkgc2hvdWxkIGxpdmUuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxh bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEdlb3JnZSBEdW5sYXAgPEdlb3JnZS5E dW5sYXBAZXUuY2l0cml4LmNvbT4KQ0M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRy aXguY29tPgpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogS29ucmFkIFJ6 ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDQzogU3RlZmFubyBTdGFiZWxs aW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDQzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+ CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDQzogSnVsaWVuIEdyYWxsIDxqdWxp ZW4uZ3JhbGxAYXJtLmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0vZG9tYWluLmMgICAgfCAxNiArKysr KysrKy0tLS0tLS0tCiB4ZW4vYXJjaC9hcm0vbW0uYyAgICAgICAgfCAgNiArKystLS0KIHhlbi9h cmNoL2FybS9zZXR1cC5jICAgICB8ICA4ICsrKystLS0tCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMg ICAgfCAxMiArKysrKystLS0tLS0KIHhlbi9hcmNoL3g4Ni9tbS5jICAgICAgICB8ICA2ICsrKy0t LQogeGVuL2FyY2gveDg2L3NldHVwLmMgICAgIHwgMTggKysrKysrKysrKystLS0tLS0tCiB4ZW4v Y29tbW9uL2RvbWFpbi5jICAgICAgfCAzMSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t CiB4ZW4vY29tbW9uL2RvbWN0bC5jICAgICAgfCAgOCArLS0tLS0tLQogeGVuL2NvbW1vbi9zY2hl ZHVsZS5jICAgIHwgIDIgKy0KIHhlbi9pbmNsdWRlL3hlbi9kb21haW4uaCB8ICA0ICsrLS0KIHhl bi9pbmNsdWRlL3hlbi9zY2hlZC5oICB8ICA1ICsrLS0tCiAxMSBmaWxlcyBjaGFuZ2VkLCA2MSBp bnNlcnRpb25zKCspLCA1NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v ZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKaW5kZXggMjkxYzI4Mi4uNGI0NWZhZCAx MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21h aW4uYwpAQCAtNTczLDggKzU3Myw4IEBAIHZvaWQgdmNwdV9zd2l0Y2hfdG9fYWFyY2g2NF9tb2Rl KHN0cnVjdCB2Y3B1ICp2KQogICAgIHYtPmFyY2guaGNyX2VsMiB8PSBIQ1JfUlc7CiB9CiAKLWlu dCBhcmNoX2RvbWFpbl9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGRvbWNy X2ZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWluY29u ZmlnICpjb25maWcpCitpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsCisg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbiAqY29u ZmlnKQogewogICAgIGludCByYywgY291bnQgPSAwOwogCkBAIC01ODUsNyArNTg1LDcgQEAgaW50 IGFyY2hfZG9tYWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgZG9tY3Jf ZmxhZ3MsCiAgICAgaWYgKCBpc19pZGxlX2RvbWFpbihkKSApCiAgICAgICAgIHJldHVybiAwOwog Ci0gICAgaWYgKCBkb21jcl9mbGFncyAhPSAoWEVOX0RPTUNUTF9DREZfaHZtX2d1ZXN0IHwgWEVO X0RPTUNUTF9DREZfaGFwKSApCisgICAgaWYgKCBjb25maWctPmZsYWdzICE9IChYRU5fRE9NQ1RM X0NERl9odm1fZ3Vlc3QgfCBYRU5fRE9NQ1RMX0NERl9oYXApICkKICAgICAgICAgcmV0dXJuIC1F SU5WQUw7CiAKICAgICBBU1NFUlQoY29uZmlnICE9IE5VTEwpOwpAQCAtNjA1LDE4ICs2MDUsMTgg QEAgaW50IGFyY2hfZG9tYWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQg ZG9tY3JfZmxhZ3MsCiAgICAgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9ndWVzdCgKICAgICAgICAgdmly dF90b19wYWdlKGQtPnNoYXJlZF9pbmZvKSwgZCwgWEVOU0hBUkVfd3JpdGFibGUpOwogCi0gICAg c3dpdGNoICggY29uZmlnLT5naWNfdmVyc2lvbiApCisgICAgc3dpdGNoICggY29uZmlnLT5jb25m aWcuZ2ljX3ZlcnNpb24gKQogICAgIHsKICAgICBjYXNlIFhFTl9ET01DVExfQ09ORklHX0dJQ19O QVRJVkU6CiAgICAgICAgIHN3aXRjaCAoIGdpY19od192ZXJzaW9uICgpICkKICAgICAgICAgewog ICAgICAgICBjYXNlIEdJQ19WMjoKLSAgICAgICAgICAgIGNvbmZpZy0+Z2ljX3ZlcnNpb24gPSBY RU5fRE9NQ1RMX0NPTkZJR19HSUNfVjI7CisgICAgICAgICAgICBjb25maWctPmNvbmZpZy5naWNf dmVyc2lvbiA9IFhFTl9ET01DVExfQ09ORklHX0dJQ19WMjsKICAgICAgICAgICAgIGQtPmFyY2gu dmdpYy52ZXJzaW9uID0gR0lDX1YyOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2Fz ZSBHSUNfVjM6Ci0gICAgICAgICAgICBjb25maWctPmdpY192ZXJzaW9uID0gWEVOX0RPTUNUTF9D T05GSUdfR0lDX1YzOworICAgICAgICAgICAgY29uZmlnLT5jb25maWcuZ2ljX3ZlcnNpb24gPSBY RU5fRE9NQ1RMX0NPTkZJR19HSUNfVjM7CiAgICAgICAgICAgICBkLT5hcmNoLnZnaWMudmVyc2lv biA9IEdJQ19WMzsKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC02NDQsMTAgKzY0NCwxMCBAQCBp bnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBkb21j cl9mbGFncywKICAgICBpZiAoIChyYyA9IGRvbWFpbl9pb19pbml0KGQsIGNvdW50ICsgTUFYX0lP X0hBTkRMRVIpKSAhPSAwICkKICAgICAgICAgZ290byBmYWlsOwogCi0gICAgaWYgKCAocmMgPSBk b21haW5fdmdpY19pbml0KGQsIGNvbmZpZy0+bnJfc3BpcykpICE9IDAgKQorICAgIGlmICggKHJj ID0gZG9tYWluX3ZnaWNfaW5pdChkLCBjb25maWctPmNvbmZpZy5ucl9zcGlzKSkgIT0gMCApCiAg ICAgICAgIGdvdG8gZmFpbDsKIAotICAgIGlmICggKHJjID0gZG9tYWluX3Z0aW1lcl9pbml0KGQs IGNvbmZpZykpICE9IDAgKQorICAgIGlmICggKHJjID0gZG9tYWluX3Z0aW1lcl9pbml0KGQsICZj b25maWctPmNvbmZpZykpICE9IDAgKQogICAgICAgICBnb3RvIGZhaWw7CiAKICAgICB1cGRhdGVf ZG9tYWluX3dhbGxjbG9ja190aW1lKGQpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL21tLmMg Yi94ZW4vYXJjaC9hcm0vbW0uYwppbmRleCBjZTgzZjY5Li5hMDliZWEyIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC9hcm0vbW0uYworKysgYi94ZW4vYXJjaC9hcm0vbW0uYwpAQCAtNTIwLDcgKzUyMCw3 IEBAIHZvaWQgX19pbml0IGFyY2hfaW5pdF9tZW1vcnkodm9pZCkKICAgICAgKiBBbnkgWGVuLWhl YXAgcGFnZXMgdGhhdCB3ZSB3aWxsIGFsbG93IHRvIGJlIG1hcHBlZCB3aWxsIGhhdmUKICAgICAg KiB0aGVpciBkb21haW4gZmllbGQgc2V0IHRvIGRvbV94ZW4uCiAgICAgICovCi0gICAgZG9tX3hl biA9IGRvbWFpbl9jcmVhdGUoRE9NSURfWEVOLCAwLCAwLCBOVUxMKTsKKyAgICBkb21feGVuID0g ZG9tYWluX2NyZWF0ZShET01JRF9YRU4sIE5VTEwpOwogICAgIEJVR19PTihJU19FUlIoZG9tX3hl bikpOwogCiAgICAgLyoKQEAgLTUyOCwxNCArNTI4LDE0IEBAIHZvaWQgX19pbml0IGFyY2hfaW5p dF9tZW1vcnkodm9pZCkKICAgICAgKiBUaGlzIGRvbWFpbiBvd25zIEkvTyBwYWdlcyB0aGF0IGFy ZSB3aXRoaW4gdGhlIHJhbmdlIG9mIHRoZSBwYWdlX2luZm8KICAgICAgKiBhcnJheS4gTWFwcGlu Z3Mgb2NjdXIgYXQgdGhlIHByaXYgb2YgdGhlIGNhbGxlci4KICAgICAgKi8KLSAgICBkb21faW8g PSBkb21haW5fY3JlYXRlKERPTUlEX0lPLCAwLCAwLCBOVUxMKTsKKyAgICBkb21faW8gPSBkb21h aW5fY3JlYXRlKERPTUlEX0lPLCBOVUxMKTsKICAgICBCVUdfT04oSVNfRVJSKGRvbV9pbykpOwog CiAgICAgLyoKICAgICAgKiBJbml0aWFsaXNlIG91ciBDT1cgZG9tYWluLgogICAgICAqIFRoaXMg ZG9tYWluIG93bnMgc2hhcmFibGUgcGFnZXMuCiAgICAgICovCi0gICAgZG9tX2NvdyA9IGRvbWFp bl9jcmVhdGUoRE9NSURfQ09XLCAwLCAwLCBOVUxMKTsKKyAgICBkb21fY293ID0gZG9tYWluX2Ny ZWF0ZShET01JRF9DT1csIE5VTEwpOwogICAgIEJVR19PTihJU19FUlIoZG9tX2NvdykpOwogfQog CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vc2V0dXAuYyBiL3hlbi9hcmNoL2FybS9zZXR1cC5j CmluZGV4IDQ2MjczNjYuLmIxNzc5N2QgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9zZXR1cC5j CisrKyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jCkBAIC02OTMsNyArNjkzLDcgQEAgdm9pZCBfX2lu aXQgc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgYm9vdF9waHlzX29mZnNldCwKICAgICBjb25zdCBj aGFyICpjbWRsaW5lOwogICAgIHN0cnVjdCBib290bW9kdWxlICp4ZW5fYm9vdG1vZHVsZTsKICAg ICBzdHJ1Y3QgZG9tYWluICpkb20wOwotICAgIHN0cnVjdCB4ZW5fYXJjaF9kb21haW5jb25maWcg Y29uZmlnOworICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbiBkb20wX2NmZyA9IHt9 OwogCiAgICAgZGNhY2hlX2xpbmVfYnl0ZXMgPSByZWFkX2RjYWNoZV9saW5lX2J5dGVzKCk7CiAK QEAgLTg0MCwxMCArODQwLDEwIEBAIHZvaWQgX19pbml0IHN0YXJ0X3hlbih1bnNpZ25lZCBsb25n IGJvb3RfcGh5c19vZmZzZXQsCiAKICAgICAvKiBDcmVhdGUgaW5pdGlhbCBkb21haW4gMC4gKi8K ICAgICAvKiBUaGUgdkdJQyBmb3IgRE9NMCBpcyBleGFjdGx5IGVtdWxhdGluZyB0aGUgaGFyZHdh cmUgR0lDICovCi0gICAgY29uZmlnLmdpY192ZXJzaW9uID0gWEVOX0RPTUNUTF9DT05GSUdfR0lD X05BVElWRTsKLSAgICBjb25maWcubnJfc3BpcyA9IGdpY19udW1iZXJfbGluZXMoKSAtIDMyOwor ICAgIGRvbTBfY2ZnLmNvbmZpZy5naWNfdmVyc2lvbiA9IFhFTl9ET01DVExfQ09ORklHX0dJQ19O QVRJVkU7CisgICAgZG9tMF9jZmcuY29uZmlnLm5yX3NwaXMgPSBnaWNfbnVtYmVyX2xpbmVzKCkg LSAzMjsKIAotICAgIGRvbTAgPSBkb21haW5fY3JlYXRlKDAsIDAsIDAsICZjb25maWcpOworICAg IGRvbTAgPSBkb21haW5fY3JlYXRlKDAsICZkb20wX2NmZyk7CiAgICAgaWYgKCBJU19FUlIoZG9t MCkgfHwgKGFsbG9jX2RvbTBfdmNwdTAoZG9tMCkgPT0gTlVMTCkgKQogICAgICAgICAgICAgcGFu aWMoIkVycm9yIGNyZWF0aW5nIGRvbWFpbiAwIik7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwppbmRleCA0OGRjMmI5Li4xMmQwNzY2 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv bWFpbi5jCkBAIC00MjYsOCArNDI2LDggQEAgc3RhdGljIGJvb2wgZW11bGF0aW9uX2ZsYWdzX29r KGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IGVtZmxhZ3MpCiAgICAgcmV0dXJuIHRy dWU7CiB9CiAKLWludCBhcmNoX2RvbWFpbl9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgaW50IGRvbWNyX2ZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2Fy Y2hfZG9tYWluY29uZmlnICpjb25maWcpCitpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBk b21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2NyZWF0 ZWRvbWFpbiAqY29uZmlnKQogewogICAgIGJvb2wgcGFnaW5nX2luaXRpYWxpc2VkID0gZmFsc2U7 CiAgICAgdWludDMyX3QgZW1mbGFnczsKQEAgLTQ3Myw5ICs0NzMsOSBAQCBpbnQgYXJjaF9kb21h aW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKICAg ICAgICAgICAgICAgIGQtPmRvbWFpbl9pZCk7CiAgICAgfQogCi0gICAgZC0+YXJjaC5zM19pbnRl Z3JpdHkgPSBkb21jcl9mbGFncyAmIFhFTl9ET01DVExfQ0RGX3MzX2ludGVncml0eTsKKyAgICBk LT5hcmNoLnMzX2ludGVncml0eSA9IGNvbmZpZy0+ZmxhZ3MgJiBYRU5fRE9NQ1RMX0NERl9zM19p bnRlZ3JpdHk7CiAKLSAgICBlbWZsYWdzID0gY29uZmlnLT5lbXVsYXRpb25fZmxhZ3M7CisgICAg ZW1mbGFncyA9IGNvbmZpZy0+Y29uZmlnLmVtdWxhdGlvbl9mbGFnczsKIAogICAgIGlmICggaXNf aGFyZHdhcmVfZG9tYWluKGQpICYmIGlzX3B2X2RvbWFpbihkKSApCiAgICAgICAgIGVtZmxhZ3Mg fD0gWEVOX1g4Nl9FTVVfUElUOwpAQCAtNTAyLDkgKzUwMiw5IEBAIGludCBhcmNoX2RvbWFpbl9j cmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAogICAgIC8q IE5lZWQgdG8gZGV0ZXJtaW5lIGlmIEhBUCBpcyBlbmFibGVkIGJlZm9yZSBpbml0aWFsaXNpbmcg cGFnaW5nICovCiAgICAgaWYgKCBpc19odm1fZG9tYWluKGQpICkKICAgICAgICAgZC0+YXJjaC5o dm1fZG9tYWluLmhhcF9lbmFibGVkID0KLSAgICAgICAgICAgIGh2bV9mdW5jcy5oYXBfc3VwcG9y dGVkICYmIChkb21jcl9mbGFncyAmIFhFTl9ET01DVExfQ0RGX2hhcCk7CisgICAgICAgICAgICBo dm1fZnVuY3MuaGFwX3N1cHBvcnRlZCAmJiAoY29uZmlnLT5mbGFncyAmIFhFTl9ET01DVExfQ0RG X2hhcCk7CiAKLSAgICBpZiAoIChyYyA9IHBhZ2luZ19kb21haW5faW5pdChkLCBkb21jcl9mbGFn cykpICE9IDAgKQorICAgIGlmICggKHJjID0gcGFnaW5nX2RvbWFpbl9pbml0KGQsIGNvbmZpZy0+ ZmxhZ3MpKSAhPSAwICkKICAgICAgICAgZ290byBmYWlsOwogICAgIHBhZ2luZ19pbml0aWFsaXNl ZCA9IHRydWU7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2 L21tLmMKaW5kZXggYzI3NWQ0Yi4uMWQ0ZTM5NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21t LmMKKysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTI3MSw3ICsyNzEsNyBAQCB2b2lkIF9faW5p dCBhcmNoX2luaXRfbWVtb3J5KHZvaWQpCiAgICAgICogSGlkZGVuIFBDSSBkZXZpY2VzIHdpbGwg YWxzbyBiZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBkb21haW4KICAgICAgKiAoYnV0IGJlIFtwYXJ0 bHldIGNvbnRyb2xsZWQgYnkgRG9tMCBuZXZlcnRoZWxlc3MpLgogICAgICAqLwotICAgIGRvbV94 ZW4gPSBkb21haW5fY3JlYXRlKERPTUlEX1hFTiwgMCwgMCwgTlVMTCk7CisgICAgZG9tX3hlbiA9 IGRvbWFpbl9jcmVhdGUoRE9NSURfWEVOLCBOVUxMKTsKICAgICBCVUdfT04oSVNfRVJSKGRvbV94 ZW4pKTsKICAgICBJTklUX0xJU1RfSEVBRCgmZG9tX3hlbi0+YXJjaC5wZGV2X2xpc3QpOwogCkBA IC0yODAsMTQgKzI4MCwxNCBAQCB2b2lkIF9faW5pdCBhcmNoX2luaXRfbWVtb3J5KHZvaWQpCiAg ICAgICogVGhpcyBkb21haW4gb3ducyBJL08gcGFnZXMgdGhhdCBhcmUgd2l0aGluIHRoZSByYW5n ZSBvZiB0aGUgcGFnZV9pbmZvCiAgICAgICogYXJyYXkuIE1hcHBpbmdzIG9jY3VyIGF0IHRoZSBw cml2IG9mIHRoZSBjYWxsZXIuCiAgICAgICovCi0gICAgZG9tX2lvID0gZG9tYWluX2NyZWF0ZShE T01JRF9JTywgMCwgMCwgTlVMTCk7CisgICAgZG9tX2lvID0gZG9tYWluX2NyZWF0ZShET01JRF9J TywgTlVMTCk7CiAgICAgQlVHX09OKElTX0VSUihkb21faW8pKTsKIAogICAgIC8qCiAgICAgICog SW5pdGlhbGlzZSBvdXIgQ09XIGRvbWFpbi4KICAgICAgKiBUaGlzIGRvbWFpbiBvd25zIHNoYXJh YmxlIHBhZ2VzLgogICAgICAqLwotICAgIGRvbV9jb3cgPSBkb21haW5fY3JlYXRlKERPTUlEX0NP VywgMCwgMCwgTlVMTCk7CisgICAgZG9tX2NvdyA9IGRvbWFpbl9jcmVhdGUoRE9NSURfQ09XLCBO VUxMKTsKICAgICBCVUdfT04oSVNfRVJSKGRvbV9jb3cpKTsKIAogICAgIC8qCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvc2V0dXAuYyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCmluZGV4IGE2ZGM1 ZGYuLmE0NDA1YjQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCisrKyBiL3hlbi9h cmNoL3g4Ni9zZXR1cC5jCkBAIC02NjAsNyArNjYwLDcgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4g X19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKIHsKICAgICBjaGFyICptZW1tYXBfdHlw ZSA9IE5VTEw7CiAgICAgY2hhciAqY21kbGluZSwgKmtleHRyYSwgKmxvYWRlcjsKLSAgICB1bnNp Z25lZCBpbnQgaW5pdHJkaWR4LCBkb21jcl9mbGFncyA9IFhFTl9ET01DVExfQ0RGX3MzX2ludGVn cml0eTsKKyAgICB1bnNpZ25lZCBpbnQgaW5pdHJkaWR4OwogICAgIG11bHRpYm9vdF9pbmZvX3Qg Km1iaTsKICAgICBtb2R1bGVfdCAqbW9kOwogICAgIHVuc2lnbmVkIGxvbmcgbnJfcGFnZXMsIHJh d19tYXhfcGFnZSwgbW9kdWxlc19oZWFkcm9vbSwgKm1vZHVsZV9tYXA7CkBAIC02NzEsNyArNjcx LDkgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlf cCkKICAgICAgICAgLnBhcml0eSAgICA9ICduJywKICAgICAgICAgLnN0b3BfYml0cyA9IDEKICAg ICB9OwotICAgIHN0cnVjdCB4ZW5fYXJjaF9kb21haW5jb25maWcgY29uZmlnID0geyAuZW11bGF0 aW9uX2ZsYWdzID0gMCB9OworICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbiBkb20w X2NmZyA9IHsKKyAgICAgICAgLmZsYWdzID0gWEVOX0RPTUNUTF9DREZfczNfaW50ZWdyaXR5LAor ICAgIH07CiAKICAgICAvKiBDcml0aWNhbCByZWdpb24gd2l0aG91dCBJRFQgb3IgVFNTLiAgQW55 IGZhdWx0IGlzIGRlYWRseSEgKi8KIApAQCAtMTYzMiwxNCArMTYzNCwxNiBAQCB2b2lkIF9faW5p dCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogCiAgICAgaWYgKCBk b20wX3B2aCApCiAgICAgewotICAgICAgICBkb21jcl9mbGFncyB8PSBYRU5fRE9NQ1RMX0NERl9o dm1fZ3Vlc3QgfAotICAgICAgICAgICAgICAgICAgICAgICAoKGh2bV9mdW5jcy5oYXBfc3VwcG9y dGVkICYmICFvcHRfZG9tMF9zaGFkb3cpID8KLSAgICAgICAgICAgICAgICAgICAgICAgICBYRU5f RE9NQ1RMX0NERl9oYXAgOiAwKTsKLSAgICAgICAgY29uZmlnLmVtdWxhdGlvbl9mbGFncyA9IFhF Tl9YODZfRU1VX0xBUElDfFhFTl9YODZfRU1VX0lPQVBJQzsKKyAgICAgICAgZG9tMF9jZmcuZmxh Z3MgfD0gKFhFTl9ET01DVExfQ0RGX2h2bV9ndWVzdCB8CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAoKGh2bV9mdW5jcy5oYXBfc3VwcG9ydGVkICYmICFvcHRfZG9tMF9zaGFkb3cpID8KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fRE9NQ1RMX0NERl9oYXAgOiAwKSk7CisKKyAg ICAgICAgZG9tMF9jZmcuY29uZmlnLmVtdWxhdGlvbl9mbGFncyA9CisgICAgICAgICAgICBYRU5f WDg2X0VNVV9MQVBJQyB8IFhFTl9YODZfRU1VX0lPQVBJQzsKICAgICB9CiAKICAgICAvKiBDcmVh dGUgaW5pdGlhbCBkb21haW4gMC4gKi8KLSAgICBkb20wID0gZG9tYWluX2NyZWF0ZShnZXRfaW5p dGlhbF9kb21haW5faWQoKSwgZG9tY3JfZmxhZ3MsIDAsICZjb25maWcpOworICAgIGRvbTAgPSBk b21haW5fY3JlYXRlKGdldF9pbml0aWFsX2RvbWFpbl9pZCgpLCAmZG9tMF9jZmcpOwogICAgIGlm ICggSVNfRVJSKGRvbTApIHx8IChhbGxvY19kb20wX3ZjcHUwKGRvbTApID09IE5VTEwpICkKICAg ICAgICAgcGFuaWMoIkVycm9yIGNyZWF0aW5nIGRvbWFpbiAwIik7CiAKZGlmZiAtLWdpdCBhL3hl bi9jb21tb24vZG9tYWluLmMgYi94ZW4vY29tbW9uL2RvbWFpbi5jCmluZGV4IDU4MmUzZTUuLmIw MGNjMWYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZG9tYWluLmMKKysrIGIveGVuL2NvbW1vbi9k b21haW4uYwpAQCAtMjYwLDkgKzI2MCw4IEBAIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2V4dHJh X2d1ZXN0X2lycXMoY29uc3QgY2hhciAqcykKIH0KIGN1c3RvbV9wYXJhbSgiZXh0cmFfZ3Vlc3Rf aXJxcyIsIHBhcnNlX2V4dHJhX2d1ZXN0X2lycXMpOwogCi1zdHJ1Y3QgZG9tYWluICpkb21haW5f Y3JlYXRlKGRvbWlkX3QgZG9taWQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3NpZHJlZiwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHhlbl9hcmNoX2RvbWFpbmNvbmZpZyAqY29uZmlnKQorc3RydWN0 IGRvbWFpbiAqZG9tYWluX2NyZWF0ZShkb21pZF90IGRvbWlkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9jcmVhdGVkb21haW4gKmNvbmZpZykKIHsKICAg ICBzdHJ1Y3QgZG9tYWluICpkLCAqKnBkLCAqb2xkX2h3ZG9tID0gTlVMTDsKICAgICBlbnVtIHsg SU5JVF94c20gPSAxdTw8MCwgSU5JVF93YXRjaGRvZyA9IDF1PDwxLCBJTklUX3Jhbmdlc2V0ID0g MXU8PDIsCkBAIC0yNzQsNiArMjczLDkgQEAgc3RydWN0IGRvbWFpbiAqZG9tYWluX2NyZWF0ZShk b21pZF90IGRvbWlkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3MsCiAKICAgICBkLT5kb21haW5f aWQgPSBkb21pZDsKIAorICAgIC8qIERlYnVnIHNhbml0eS4gKi8KKyAgICBBU1NFUlQoaXNfc3lz dGVtX2RvbWFpbihkKSA/IGNvbmZpZyA9PSBOVUxMIDogY29uZmlnICE9IE5VTEwpOworCiAgICAg VFJBQ0VfMUQoVFJDX0RPTTBfRE9NX0FERCwgZC0+ZG9tYWluX2lkKTsKIAogICAgIGxvY2tfcHJv ZmlsZV9yZWdpc3Rlcl9zdHJ1Y3QoTE9DS1BST0ZfVFlQRV9QRVJET00sIGQsIGRvbWlkLCAiRG9t YWluIik7CkBAIC0zMDQsMTEgKzMwNiw2IEBAIHN0cnVjdCBkb21haW4gKmRvbWFpbl9jcmVhdGUo ZG9taWRfdCBkb21pZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAogICAgIGlmICggIXphbGxv Y19jcHVtYXNrX3ZhcigmZC0+ZGlydHlfY3B1bWFzaykgKQogICAgICAgICBnb3RvIGZhaWw7CiAK LSAgICBpZiAoIGRvbWNyX2ZsYWdzICYgWEVOX0RPTUNUTF9DREZfaHZtX2d1ZXN0ICkKLSAgICAg ICAgZC0+Z3Vlc3RfdHlwZSA9IGd1ZXN0X3R5cGVfaHZtOwotICAgIGVsc2UKLSAgICAgICAgZC0+ Z3Vlc3RfdHlwZSA9IGd1ZXN0X3R5cGVfcHY7Ci0KICAgICByYW5nZXNldF9kb21haW5faW5pdGlh bGlzZShkKTsKICAgICBpbml0X3N0YXR1cyB8PSBJTklUX3Jhbmdlc2V0OwogCkBAIC0zMTgsNiAr MzE1LDExIEBAIHN0cnVjdCBkb21haW4gKmRvbWFpbl9jcmVhdGUoZG9taWRfdCBkb21pZCwgdW5z aWduZWQgaW50IGRvbWNyX2ZsYWdzLAogCiAgICAgaWYgKCAhaXNfaWRsZV9kb21haW4oZCkgKQog ICAgIHsKKyAgICAgICAgaWYgKCBjb25maWctPmZsYWdzICYgWEVOX0RPTUNUTF9DREZfaHZtX2d1 ZXN0ICkKKyAgICAgICAgICAgIGQtPmd1ZXN0X3R5cGUgPSBndWVzdF90eXBlX2h2bTsKKyAgICAg ICAgZWxzZQorICAgICAgICAgICAgZC0+Z3Vlc3RfdHlwZSA9IGd1ZXN0X3R5cGVfcHY7CisKICAg ICAgICAgd2F0Y2hkb2dfZG9tYWluX2luaXQoZCk7CiAgICAgICAgIGluaXRfc3RhdHVzIHw9IElO SVRfd2F0Y2hkb2c7CiAKQEAgLTMzMSw3ICszMzMsNyBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5f Y3JlYXRlKGRvbWlkX3QgZG9taWQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKICAgICAgICAg ICAgIGhhcmR3YXJlX2RvbWFpbiA9IGQ7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIGRvbWNy X2ZsYWdzICYgWEVOX0RPTUNUTF9DREZfeHNfZG9tYWluICkKKyAgICAgICAgaWYgKCBjb25maWct PmZsYWdzICYgWEVOX0RPTUNUTF9DREZfeHNfZG9tYWluICkKICAgICAgICAgewogICAgICAgICAg ICAgZC0+aXNfeGVuc3RvcmUgPSAxOwogICAgICAgICAgICAgZC0+ZGlzYWJsZV9taWdyYXRlID0g MTsKQEAgLTM0Miw3ICszNDQsNyBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5fY3JlYXRlKGRvbWlk X3QgZG9taWQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKICAgICAgICAgaWYgKCAhZC0+aW9t ZW1fY2FwcyB8fCAhZC0+aXJxX2NhcHMgKQogICAgICAgICAgICAgZ290byBmYWlsOwogCi0gICAg ICAgIGlmICggKGVyciA9IHhzbV9kb21haW5fY3JlYXRlKFhTTV9IT09LLCBkLCBzc2lkcmVmKSkg IT0gMCApCisgICAgICAgIGlmICggKGVyciA9IHhzbV9kb21haW5fY3JlYXRlKFhTTV9IT09LLCBk LCBjb25maWctPnNzaWRyZWYpKSAhPSAwICkKICAgICAgICAgICAgIGdvdG8gZmFpbDsKIAogICAg ICAgICBkLT5jb250cm9sbGVyX3BhdXNlX2NvdW50ID0gMTsKQEAgLTM3Myw3ICszNzUsNyBAQCBz dHJ1Y3QgZG9tYWluICpkb21haW5fY3JlYXRlKGRvbWlkX3QgZG9taWQsIHVuc2lnbmVkIGludCBk b21jcl9mbGFncywKICAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICB9CiAKLSAgICBpZiAoIChl cnIgPSBhcmNoX2RvbWFpbl9jcmVhdGUoZCwgZG9tY3JfZmxhZ3MsIGNvbmZpZykpICE9IDAgKQor ICAgIGlmICggKGVyciA9IGFyY2hfZG9tYWluX2NyZWF0ZShkLCBjb25maWcpKSAhPSAwICkKICAg ICAgICAgZ290byBmYWlsOwogICAgIGluaXRfc3RhdHVzIHw9IElOSVRfYXJjaDsKIApAQCAtMzg1 LDYgKzM4NywxMSBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5fY3JlYXRlKGRvbWlkX3QgZG9taWQs IHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKICAgICAgICAgaWYgKCAoZXJyID0gbGF0ZV9od2Rv bV9pbml0KGQpKSAhPSAwICkKICAgICAgICAgICAgIGdvdG8gZmFpbDsKIAorICAgICAgICAvKgor ICAgICAgICAgKiBNdXN0IG5vdCBmYWlsIGJleW9uZCB0aGlzIHBvaW50LCBhcyBvdXIgY2FsbGVy IGRvZXNuJ3Qga25vdyB3aGV0aGVyCisgICAgICAgICAqIHRoZSBkb21haW4gaGFzIGJlZW4gZW50 ZXJlZCBpbnRvIGRvbWFpbl9saXN0IG9yIG5vdC4KKyAgICAgICAgICovCisKICAgICAgICAgc3Bp bl9sb2NrKCZkb21saXN0X3VwZGF0ZV9sb2NrKTsKICAgICAgICAgcGQgPSAmZG9tYWluX2xpc3Q7 IC8qIE5CLiBkb21haW5fbGlzdCBtYWludGFpbmVkIGluIG9yZGVyIG9mIGRvbWlkLiAqLwogICAg ICAgICBmb3IgKCBwZCA9ICZkb21haW5fbGlzdDsgKnBkICE9IE5VTEw7IHBkID0gJigqcGQpLT5u ZXh0X2luX2xpc3QgKQpAQCAtMzk1LDYgKzQwMiw4IEBAIHN0cnVjdCBkb21haW4gKmRvbWFpbl9j cmVhdGUoZG9taWRfdCBkb21pZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAogICAgICAgICBy Y3VfYXNzaWduX3BvaW50ZXIoKnBkLCBkKTsKICAgICAgICAgcmN1X2Fzc2lnbl9wb2ludGVyKGRv bWFpbl9oYXNoW0RPTUFJTl9IQVNIKGRvbWlkKV0sIGQpOwogICAgICAgICBzcGluX3VubG9jaygm ZG9tbGlzdF91cGRhdGVfbG9jayk7CisKKyAgICAgICAgbWVtY3B5KGQtPmhhbmRsZSwgY29uZmln LT5oYW5kbGUsIHNpemVvZihkLT5oYW5kbGUpKTsKICAgICB9CiAKICAgICByZXR1cm4gZDsKZGlm ZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tY3RsLmMgYi94ZW4vY29tbW9uL2RvbWN0bC5jCmluZGV4 IGE3M2UxYTQuLjliN2JjMDggMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIv eGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtNTMyLDkgKzUzMiw3IEBAIGxvbmcgZG9fZG9tY3RsKFhF Tl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkKICAgICAgICAgICAg IHJvdmVyID0gZG9tOwogICAgICAgICB9CiAKLSAgICAgICAgZCA9IGRvbWFpbl9jcmVhdGUoZG9t LCBvcC0+dS5jcmVhdGVkb21haW4uZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG9w LT51LmNyZWF0ZWRvbWFpbi5zc2lkcmVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmb3At PnUuY3JlYXRlZG9tYWluLmNvbmZpZyk7CisgICAgICAgIGQgPSBkb21haW5fY3JlYXRlKGRvbSwg Jm9wLT51LmNyZWF0ZWRvbWFpbik7CiAgICAgICAgIGlmICggSVNfRVJSKGQpICkKICAgICAgICAg ewogICAgICAgICAgICAgcmV0ID0gUFRSX0VSUihkKTsKQEAgLTU0MywxMCArNTQxLDYgQEAgbG9u ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpIHVfZG9tY3Rs KQogICAgICAgICB9CiAKICAgICAgICAgcmV0ID0gMDsKLQotICAgICAgICBtZW1jcHkoZC0+aGFu ZGxlLCBvcC0+dS5jcmVhdGVkb21haW4uaGFuZGxlLAotICAgICAgICAgICAgICAgc2l6ZW9mKHhl bl9kb21haW5faGFuZGxlX3QpKTsKLQogICAgICAgICBvcC0+ZG9tYWluID0gZC0+ZG9tYWluX2lk OwogICAgICAgICBjb3B5YmFjayA9IDE7CiAgICAgICAgIGQgPSBOVUxMOwpkaWZmIC0tZ2l0IGEv eGVuL2NvbW1vbi9zY2hlZHVsZS5jIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCmluZGV4IDY0NTI0 ZjQuLmIzYzI2NjAgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWR1bGUuYworKysgYi94ZW4v Y29tbW9uL3NjaGVkdWxlLmMKQEAgLTE3MzQsNyArMTczNCw3IEBAIHZvaWQgX19pbml0IHNjaGVk dWxlcl9pbml0KHZvaWQpCiAgICAgICAgIHNjaGVkX3JhdGVsaW1pdF91cyA9IFNDSEVEX0RFRkFV TFRfUkFURUxJTUlUX1VTOwogICAgIH0KIAotICAgIGlkbGVfZG9tYWluID0gZG9tYWluX2NyZWF0 ZShET01JRF9JRExFLCAwLCAwLCBOVUxMKTsKKyAgICBpZGxlX2RvbWFpbiA9IGRvbWFpbl9jcmVh dGUoRE9NSURfSURMRSwgTlVMTCk7CiAgICAgQlVHX09OKElTX0VSUihpZGxlX2RvbWFpbikpOwog ICAgIGlkbGVfZG9tYWluLT52Y3B1ID0gaWRsZV92Y3B1OwogICAgIGlkbGVfZG9tYWluLT5tYXhf dmNwdXMgPSBucl9jcHVfaWRzOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5o IGIveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oCmluZGV4IGViNjJmMWQuLjE3N2NiMzUgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZG9t YWluLmgKQEAgLTU1LDggKzU1LDggQEAgdm9pZCB2Y3B1X2Rlc3Ryb3koc3RydWN0IHZjcHUgKnYp OwogaW50IG1hcF92Y3B1X2luZm8oc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1 bnNpZ25lZCBvZmZzZXQpOwogdm9pZCB1bm1hcF92Y3B1X2luZm8oc3RydWN0IHZjcHUgKnYpOwog Ci1pbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBk b21jcl9mbGFncywKLSAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9hcmNoX2RvbWFp bmNvbmZpZyAqY29uZmlnKTsKK2ludCBhcmNoX2RvbWFpbl9jcmVhdGUoc3RydWN0IGRvbWFpbiAq ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfY3JlYXRlZG9tYWlu ICpjb25maWcpOwogCiB2b2lkIGFyY2hfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAqZCk7 CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oIGIveGVuL2luY2x1ZGUveGVu L3NjaGVkLmgKaW5kZXggOWFmNzhhYy4uYzE1YzM5ZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv eGVuL3NjaGVkLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKQEAgLTUzOSw5ICs1Mzks OCBAQCB2b2lkIGRvbWFpbl91cGRhdGVfbm9kZV9hZmZpbml0eShzdHJ1Y3QgZG9tYWluICpkKTsK ICAqIENyZWF0ZSBhIGRvbWFpbjogdGhlIGNvbmZpZ3VyYXRpb24gaXMgb25seSBuZWNlc3Nhcnkg Zm9yIHJlYWwgZG9tYWluCiAgKiAoZG9taWQgPCBET01JRF9GSVJTVF9SRVNFUlZFRCkuCiAgKi8K LXN0cnVjdCBkb21haW4gKmRvbWFpbl9jcmVhdGUoZG9taWRfdCBkb21pZCwgdW5zaWduZWQgaW50 IGRvbWNyX2ZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzc2lk cmVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWlu Y29uZmlnICpjb25maWcpOworc3RydWN0IGRvbWFpbiAqZG9tYWluX2NyZWF0ZShkb21pZF90IGRv bWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9jcmVh dGVkb21haW4gKmNvbmZpZyk7CiAKIC8qCiAgKiByY3VfbG9ja19kb21haW5fYnlfaWQoKSBpcyBt b3JlIGVmZmljaWVudCB0aGFuIGdldF9kb21haW5fYnlfaWQoKS4KLS0gCjIuMS40CgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==