From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH 6/7] xen/domain: Pass the full domctl_createdomain struct to create_domain() Date: Sun, 11 Mar 2018 20:08:58 +0000 Message-ID: <9637cee6-8187-d6ed-4047-ec8dc5478aa4@arm.com> References: <1520601522-2886-1-git-send-email-andrew.cooper3@citrix.com> <1520601522-2886-7-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1520601522-2886-7-git-send-email-andrew.cooper3@citrix.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Andrew Cooper , Xen-devel Cc: Stefano Stabellini , Wei Liu , George Dunlap , Ian Jackson , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org SGkgQW5kcmV3LAoKT24gMDMvMDkvMjAxOCAwMToxOCBQTSwgQW5kcmV3IENvb3BlciB3cm90ZToK PiBJbiBmdXR1cmUgcGF0Y2hlcywgdGhlIHN0cnVjdHVyZSB3aWxsIGJlIGV4dGVuZGVkIHdpdGgg ZnVydGhlciBpbmZvcm1hdGlvbiwKPiBhbmQgdGhpcyBpcyBmYXIgY2xlYW5lciB0aGFuIGFkZGlu ZyBleHRyYSBwYXJhbWV0ZXJzLgo+IAo+IE9uZSBtaW5vciB0d2VhayBpcyB0aGF0IHRoZSBzZXR0 aW5nIG9mIGd1ZXN0X3R5cGUgbmVlZHMgdG8gYmUgZGVmZXJyZWQgdW50aWwKPiBjb25maWcgaXMg a25vd24tZ29vZCB0byBkZXJlZmVyZW5jZSwgYnV0IHRoaXMgZG9lc24ndCByZXN1bHQgaW4gYW55 IGNoYW5nZWQKPiBiZWhhdmlvdXIgYXMgc3lzdGVtIGRvbWFpbnMgbmV2ZXIgdXNlZCB0byBwYXNz IFhFTl9ET01DVExfQ0RGX2h2bV9ndWVzdC4KPiAKPiBBbHNvIGZvciBjb21wbGV0ZW5lc3MsIG1v dmUgdGhlIHNldHRpbmcgb2YgZC0+aGFuZGxlIGludG8gdGhlIHRhaWwgb2YKPiBkb21haW5fY3Jl YXRlKCkgd2hlcmUgaXQgbW9yZSBsb2dpY2FsbHkgc2hvdWxkIGxpdmUuCj4gCj4gU2lnbmVkLW9m Zi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KCkFja2VkLWJ5 OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgoKQ2hlZXJzLAoKPiAtLS0KPiBD QzogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBldS5jaXRyaXguY29tPgo+IENDOiBJYW4g SmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KPiBDQzogSmFuIEJldWxpY2ggPEpC ZXVsaWNoQHN1c2UuY29tPgo+IENDOiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxr QG9yYWNsZS5jb20+Cj4gQ0M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVs Lm9yZz4KPiBDQzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+Cj4gQ0M6IFdlaSBMaXUgPHdlaS5s aXUyQGNpdHJpeC5jb20+Cj4gQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+ Cj4gLS0tCj4gICB4ZW4vYXJjaC9hcm0vZG9tYWluLmMgICAgfCAxNiArKysrKysrKy0tLS0tLS0t Cj4gICB4ZW4vYXJjaC9hcm0vbW0uYyAgICAgICAgfCAgNiArKystLS0KPiAgIHhlbi9hcmNoL2Fy bS9zZXR1cC5jICAgICB8ICA4ICsrKystLS0tCj4gICB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAg fCAxMiArKysrKystLS0tLS0KPiAgIHhlbi9hcmNoL3g4Ni9tbS5jICAgICAgICB8ICA2ICsrKy0t LQo+ICAgeGVuL2FyY2gveDg2L3NldHVwLmMgICAgIHwgMTggKysrKysrKysrKystLS0tLS0tCj4g ICB4ZW4vY29tbW9uL2RvbWFpbi5jICAgICAgfCAzMSArKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tCj4gICB4ZW4vY29tbW9uL2RvbWN0bC5jICAgICAgfCAgOCArLS0tLS0tLQo+ICAgeGVu L2NvbW1vbi9zY2hlZHVsZS5jICAgIHwgIDIgKy0KPiAgIHhlbi9pbmNsdWRlL3hlbi9kb21haW4u aCB8ICA0ICsrLS0KPiAgIHhlbi9pbmNsdWRlL3hlbi9zY2hlZC5oICB8ICA1ICsrLS0tCj4gICAx MSBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCA1NSBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jIGIveGVuL2FyY2gvYXJtL2RvbWFpbi5j Cj4gaW5kZXggMjkxYzI4Mi4uNGI0NWZhZCAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vZG9t YWluLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKPiBAQCAtNTczLDggKzU3Myw4IEBA IHZvaWQgdmNwdV9zd2l0Y2hfdG9fYWFyY2g2NF9tb2RlKHN0cnVjdCB2Y3B1ICp2KQo+ICAgICAg IHYtPmFyY2guaGNyX2VsMiB8PSBIQ1JfUlc7Cj4gICB9Cj4gICAKPiAtaW50IGFyY2hfZG9tYWlu X2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3MsCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9hcmNoX2RvbWFpbmNvbmZpZyAqY29uZmln KQo+ICtpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfY3JlYXRlZG9tYWluICpjb25maWcpCj4g ICB7Cj4gICAgICAgaW50IHJjLCBjb3VudCA9IDA7Cj4gICAKPiBAQCAtNTg1LDcgKzU4NSw3IEBA IGludCBhcmNoX2RvbWFpbl9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGRv bWNyX2ZsYWdzLAo+ICAgICAgIGlmICggaXNfaWRsZV9kb21haW4oZCkgKQo+ICAgICAgICAgICBy ZXR1cm4gMDsKPiAgIAo+IC0gICAgaWYgKCBkb21jcl9mbGFncyAhPSAoWEVOX0RPTUNUTF9DREZf aHZtX2d1ZXN0IHwgWEVOX0RPTUNUTF9DREZfaGFwKSApCj4gKyAgICBpZiAoIGNvbmZpZy0+Zmxh Z3MgIT0gKFhFTl9ET01DVExfQ0RGX2h2bV9ndWVzdCB8IFhFTl9ET01DVExfQ0RGX2hhcCkgKQo+ ICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiAgIAo+ICAgICAgIEFTU0VSVChjb25maWcgIT0g TlVMTCk7Cj4gQEAgLTYwNSwxOCArNjA1LDE4IEBAIGludCBhcmNoX2RvbWFpbl9jcmVhdGUoc3Ry dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAo+ICAgICAgIHNoYXJlX3hl bl9wYWdlX3dpdGhfZ3Vlc3QoCj4gICAgICAgICAgIHZpcnRfdG9fcGFnZShkLT5zaGFyZWRfaW5m byksIGQsIFhFTlNIQVJFX3dyaXRhYmxlKTsKPiAgIAo+IC0gICAgc3dpdGNoICggY29uZmlnLT5n aWNfdmVyc2lvbiApCj4gKyAgICBzd2l0Y2ggKCBjb25maWctPmNvbmZpZy5naWNfdmVyc2lvbiAp Cj4gICAgICAgewo+ICAgICAgIGNhc2UgWEVOX0RPTUNUTF9DT05GSUdfR0lDX05BVElWRToKPiAg ICAgICAgICAgc3dpdGNoICggZ2ljX2h3X3ZlcnNpb24gKCkgKQo+ICAgICAgICAgICB7Cj4gICAg ICAgICAgIGNhc2UgR0lDX1YyOgo+IC0gICAgICAgICAgICBjb25maWctPmdpY192ZXJzaW9uID0g WEVOX0RPTUNUTF9DT05GSUdfR0lDX1YyOwo+ICsgICAgICAgICAgICBjb25maWctPmNvbmZpZy5n aWNfdmVyc2lvbiA9IFhFTl9ET01DVExfQ09ORklHX0dJQ19WMjsKPiAgICAgICAgICAgICAgIGQt PmFyY2gudmdpYy52ZXJzaW9uID0gR0lDX1YyOwo+ICAgICAgICAgICAgICAgYnJlYWs7Cj4gICAK PiAgICAgICAgICAgY2FzZSBHSUNfVjM6Cj4gLSAgICAgICAgICAgIGNvbmZpZy0+Z2ljX3ZlcnNp b24gPSBYRU5fRE9NQ1RMX0NPTkZJR19HSUNfVjM7Cj4gKyAgICAgICAgICAgIGNvbmZpZy0+Y29u ZmlnLmdpY192ZXJzaW9uID0gWEVOX0RPTUNUTF9DT05GSUdfR0lDX1YzOwo+ICAgICAgICAgICAg ICAgZC0+YXJjaC52Z2ljLnZlcnNpb24gPSBHSUNfVjM7Cj4gICAgICAgICAgICAgICBicmVhazsK PiAgIAo+IEBAIC02NDQsMTAgKzY0NCwxMCBAQCBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKPiAgICAgICBpZiAoIChyYyA9 IGRvbWFpbl9pb19pbml0KGQsIGNvdW50ICsgTUFYX0lPX0hBTkRMRVIpKSAhPSAwICkKPiAgICAg ICAgICAgZ290byBmYWlsOwo+ICAgCj4gLSAgICBpZiAoIChyYyA9IGRvbWFpbl92Z2ljX2luaXQo ZCwgY29uZmlnLT5ucl9zcGlzKSkgIT0gMCApCj4gKyAgICBpZiAoIChyYyA9IGRvbWFpbl92Z2lj X2luaXQoZCwgY29uZmlnLT5jb25maWcubnJfc3BpcykpICE9IDAgKQo+ICAgICAgICAgICBnb3Rv IGZhaWw7Cj4gICAKPiAtICAgIGlmICggKHJjID0gZG9tYWluX3Z0aW1lcl9pbml0KGQsIGNvbmZp ZykpICE9IDAgKQo+ICsgICAgaWYgKCAocmMgPSBkb21haW5fdnRpbWVyX2luaXQoZCwgJmNvbmZp Zy0+Y29uZmlnKSkgIT0gMCApCj4gICAgICAgICAgIGdvdG8gZmFpbDsKPiAgIAo+ICAgICAgIHVw ZGF0ZV9kb21haW5fd2FsbGNsb2NrX3RpbWUoZCk7Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy bS9tbS5jIGIveGVuL2FyY2gvYXJtL21tLmMKPiBpbmRleCBjZTgzZjY5Li5hMDliZWEyIDEwMDY0 NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9tbS5jCj4gKysrIGIveGVuL2FyY2gvYXJtL21tLmMKPiBA QCAtNTIwLDcgKzUyMCw3IEBAIHZvaWQgX19pbml0IGFyY2hfaW5pdF9tZW1vcnkodm9pZCkKPiAg ICAgICAgKiBBbnkgWGVuLWhlYXAgcGFnZXMgdGhhdCB3ZSB3aWxsIGFsbG93IHRvIGJlIG1hcHBl ZCB3aWxsIGhhdmUKPiAgICAgICAgKiB0aGVpciBkb21haW4gZmllbGQgc2V0IHRvIGRvbV94ZW4u Cj4gICAgICAgICovCj4gLSAgICBkb21feGVuID0gZG9tYWluX2NyZWF0ZShET01JRF9YRU4sIDAs IDAsIE5VTEwpOwo+ICsgICAgZG9tX3hlbiA9IGRvbWFpbl9jcmVhdGUoRE9NSURfWEVOLCBOVUxM KTsKPiAgICAgICBCVUdfT04oSVNfRVJSKGRvbV94ZW4pKTsKPiAgIAo+ICAgICAgIC8qCj4gQEAg LTUyOCwxNCArNTI4LDE0IEBAIHZvaWQgX19pbml0IGFyY2hfaW5pdF9tZW1vcnkodm9pZCkKPiAg ICAgICAgKiBUaGlzIGRvbWFpbiBvd25zIEkvTyBwYWdlcyB0aGF0IGFyZSB3aXRoaW4gdGhlIHJh bmdlIG9mIHRoZSBwYWdlX2luZm8KPiAgICAgICAgKiBhcnJheS4gTWFwcGluZ3Mgb2NjdXIgYXQg dGhlIHByaXYgb2YgdGhlIGNhbGxlci4KPiAgICAgICAgKi8KPiAtICAgIGRvbV9pbyA9IGRvbWFp bl9jcmVhdGUoRE9NSURfSU8sIDAsIDAsIE5VTEwpOwo+ICsgICAgZG9tX2lvID0gZG9tYWluX2Ny ZWF0ZShET01JRF9JTywgTlVMTCk7Cj4gICAgICAgQlVHX09OKElTX0VSUihkb21faW8pKTsKPiAg IAo+ICAgICAgIC8qCj4gICAgICAgICogSW5pdGlhbGlzZSBvdXIgQ09XIGRvbWFpbi4KPiAgICAg ICAgKiBUaGlzIGRvbWFpbiBvd25zIHNoYXJhYmxlIHBhZ2VzLgo+ICAgICAgICAqLwo+IC0gICAg ZG9tX2NvdyA9IGRvbWFpbl9jcmVhdGUoRE9NSURfQ09XLCAwLCAwLCBOVUxMKTsKPiArICAgIGRv bV9jb3cgPSBkb21haW5fY3JlYXRlKERPTUlEX0NPVywgTlVMTCk7Cj4gICAgICAgQlVHX09OKElT X0VSUihkb21fY293KSk7Cj4gICB9Cj4gICAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3Nl dHVwLmMgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYwo+IGluZGV4IDQ2MjczNjYuLmIxNzc5N2QgMTAw NjQ0Cj4gLS0tIGEveGVuL2FyY2gvYXJtL3NldHVwLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vc2V0 dXAuYwo+IEBAIC02OTMsNyArNjkzLDcgQEAgdm9pZCBfX2luaXQgc3RhcnRfeGVuKHVuc2lnbmVk IGxvbmcgYm9vdF9waHlzX29mZnNldCwKPiAgICAgICBjb25zdCBjaGFyICpjbWRsaW5lOwo+ICAg ICAgIHN0cnVjdCBib290bW9kdWxlICp4ZW5fYm9vdG1vZHVsZTsKPiAgICAgICBzdHJ1Y3QgZG9t YWluICpkb20wOwo+IC0gICAgc3RydWN0IHhlbl9hcmNoX2RvbWFpbmNvbmZpZyBjb25maWc7Cj4g KyAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9jcmVhdGVkb21haW4gZG9tMF9jZmcgPSB7fTsKPiAgIAo+ ICAgICAgIGRjYWNoZV9saW5lX2J5dGVzID0gcmVhZF9kY2FjaGVfbGluZV9ieXRlcygpOwo+ICAg Cj4gQEAgLTg0MCwxMCArODQwLDEwIEBAIHZvaWQgX19pbml0IHN0YXJ0X3hlbih1bnNpZ25lZCBs b25nIGJvb3RfcGh5c19vZmZzZXQsCj4gICAKPiAgICAgICAvKiBDcmVhdGUgaW5pdGlhbCBkb21h aW4gMC4gKi8KPiAgICAgICAvKiBUaGUgdkdJQyBmb3IgRE9NMCBpcyBleGFjdGx5IGVtdWxhdGlu ZyB0aGUgaGFyZHdhcmUgR0lDICovCj4gLSAgICBjb25maWcuZ2ljX3ZlcnNpb24gPSBYRU5fRE9N Q1RMX0NPTkZJR19HSUNfTkFUSVZFOwo+IC0gICAgY29uZmlnLm5yX3NwaXMgPSBnaWNfbnVtYmVy X2xpbmVzKCkgLSAzMjsKPiArICAgIGRvbTBfY2ZnLmNvbmZpZy5naWNfdmVyc2lvbiA9IFhFTl9E T01DVExfQ09ORklHX0dJQ19OQVRJVkU7Cj4gKyAgICBkb20wX2NmZy5jb25maWcubnJfc3BpcyA9 IGdpY19udW1iZXJfbGluZXMoKSAtIDMyOwo+ICAgCj4gLSAgICBkb20wID0gZG9tYWluX2NyZWF0 ZSgwLCAwLCAwLCAmY29uZmlnKTsKPiArICAgIGRvbTAgPSBkb21haW5fY3JlYXRlKDAsICZkb20w X2NmZyk7Cj4gICAgICAgaWYgKCBJU19FUlIoZG9tMCkgfHwgKGFsbG9jX2RvbTBfdmNwdTAoZG9t MCkgPT0gTlVMTCkgKQo+ICAgICAgICAgICAgICAgcGFuaWMoIkVycm9yIGNyZWF0aW5nIGRvbWFp biAwIik7Cj4gICAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2Fy Y2gveDg2L2RvbWFpbi5jCj4gaW5kZXggNDhkYzJiOS4uMTJkMDc2NiAxMDA2NDQKPiAtLS0gYS94 ZW4vYXJjaC94ODYvZG9tYWluLmMKPiArKysgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKPiBAQCAt NDI2LDggKzQyNiw4IEBAIHN0YXRpYyBib29sIGVtdWxhdGlvbl9mbGFnc19vayhjb25zdCBzdHJ1 Y3QgZG9tYWluICpkLCB1aW50MzJfdCBlbWZsYWdzKQo+ICAgICAgIHJldHVybiB0cnVlOwo+ICAg fQo+ICAgCj4gLWludCBhcmNoX2RvbWFpbl9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgaW50IGRvbWNyX2ZsYWdzLAo+IC0gICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5f YXJjaF9kb21haW5jb25maWcgKmNvbmZpZykKPiAraW50IGFyY2hfZG9tYWluX2NyZWF0ZShzdHJ1 Y3QgZG9tYWluICpkLAo+ICsgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3Rs X2NyZWF0ZWRvbWFpbiAqY29uZmlnKQo+ICAgewo+ICAgICAgIGJvb2wgcGFnaW5nX2luaXRpYWxp c2VkID0gZmFsc2U7Cj4gICAgICAgdWludDMyX3QgZW1mbGFnczsKPiBAQCAtNDczLDkgKzQ3Myw5 IEBAIGludCBhcmNoX2RvbWFpbl9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50 IGRvbWNyX2ZsYWdzLAo+ICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkKTsKPiAgICAgICB9 Cj4gICAKPiAtICAgIGQtPmFyY2guczNfaW50ZWdyaXR5ID0gZG9tY3JfZmxhZ3MgJiBYRU5fRE9N Q1RMX0NERl9zM19pbnRlZ3JpdHk7Cj4gKyAgICBkLT5hcmNoLnMzX2ludGVncml0eSA9IGNvbmZp Zy0+ZmxhZ3MgJiBYRU5fRE9NQ1RMX0NERl9zM19pbnRlZ3JpdHk7Cj4gICAKPiAtICAgIGVtZmxh Z3MgPSBjb25maWctPmVtdWxhdGlvbl9mbGFnczsKPiArICAgIGVtZmxhZ3MgPSBjb25maWctPmNv bmZpZy5lbXVsYXRpb25fZmxhZ3M7Cj4gICAKPiAgICAgICBpZiAoIGlzX2hhcmR3YXJlX2RvbWFp bihkKSAmJiBpc19wdl9kb21haW4oZCkgKQo+ICAgICAgICAgICBlbWZsYWdzIHw9IFhFTl9YODZf RU1VX1BJVDsKPiBAQCAtNTAyLDkgKzUwMiw5IEBAIGludCBhcmNoX2RvbWFpbl9jcmVhdGUoc3Ry dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAo+ICAgICAgIC8qIE5lZWQg dG8gZGV0ZXJtaW5lIGlmIEhBUCBpcyBlbmFibGVkIGJlZm9yZSBpbml0aWFsaXNpbmcgcGFnaW5n ICovCj4gICAgICAgaWYgKCBpc19odm1fZG9tYWluKGQpICkKPiAgICAgICAgICAgZC0+YXJjaC5o dm1fZG9tYWluLmhhcF9lbmFibGVkID0KPiAtICAgICAgICAgICAgaHZtX2Z1bmNzLmhhcF9zdXBw b3J0ZWQgJiYgKGRvbWNyX2ZsYWdzICYgWEVOX0RPTUNUTF9DREZfaGFwKTsKPiArICAgICAgICAg ICAgaHZtX2Z1bmNzLmhhcF9zdXBwb3J0ZWQgJiYgKGNvbmZpZy0+ZmxhZ3MgJiBYRU5fRE9NQ1RM X0NERl9oYXApOwo+ICAgCj4gLSAgICBpZiAoIChyYyA9IHBhZ2luZ19kb21haW5faW5pdChkLCBk b21jcl9mbGFncykpICE9IDAgKQo+ICsgICAgaWYgKCAocmMgPSBwYWdpbmdfZG9tYWluX2luaXQo ZCwgY29uZmlnLT5mbGFncykpICE9IDAgKQo+ICAgICAgICAgICBnb3RvIGZhaWw7Cj4gICAgICAg cGFnaW5nX2luaXRpYWxpc2VkID0gdHJ1ZTsKPiAgIAo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCj4gaW5kZXggYzI3NWQ0Yi4uMWQ0ZTM5NiAxMDA2 NDQKPiAtLS0gYS94ZW4vYXJjaC94ODYvbW0uYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCj4g QEAgLTI3MSw3ICsyNzEsNyBAQCB2b2lkIF9faW5pdCBhcmNoX2luaXRfbWVtb3J5KHZvaWQpCj4g ICAgICAgICogSGlkZGVuIFBDSSBkZXZpY2VzIHdpbGwgYWxzbyBiZSBhc3NvY2lhdGVkIHdpdGgg dGhpcyBkb21haW4KPiAgICAgICAgKiAoYnV0IGJlIFtwYXJ0bHldIGNvbnRyb2xsZWQgYnkgRG9t MCBuZXZlcnRoZWxlc3MpLgo+ICAgICAgICAqLwo+IC0gICAgZG9tX3hlbiA9IGRvbWFpbl9jcmVh dGUoRE9NSURfWEVOLCAwLCAwLCBOVUxMKTsKPiArICAgIGRvbV94ZW4gPSBkb21haW5fY3JlYXRl KERPTUlEX1hFTiwgTlVMTCk7Cj4gICAgICAgQlVHX09OKElTX0VSUihkb21feGVuKSk7Cj4gICAg ICAgSU5JVF9MSVNUX0hFQUQoJmRvbV94ZW4tPmFyY2gucGRldl9saXN0KTsKPiAgIAo+IEBAIC0y ODAsMTQgKzI4MCwxNCBAQCB2b2lkIF9faW5pdCBhcmNoX2luaXRfbWVtb3J5KHZvaWQpCj4gICAg ICAgICogVGhpcyBkb21haW4gb3ducyBJL08gcGFnZXMgdGhhdCBhcmUgd2l0aGluIHRoZSByYW5n ZSBvZiB0aGUgcGFnZV9pbmZvCj4gICAgICAgICogYXJyYXkuIE1hcHBpbmdzIG9jY3VyIGF0IHRo ZSBwcml2IG9mIHRoZSBjYWxsZXIuCj4gICAgICAgICovCj4gLSAgICBkb21faW8gPSBkb21haW5f Y3JlYXRlKERPTUlEX0lPLCAwLCAwLCBOVUxMKTsKPiArICAgIGRvbV9pbyA9IGRvbWFpbl9jcmVh dGUoRE9NSURfSU8sIE5VTEwpOwo+ICAgICAgIEJVR19PTihJU19FUlIoZG9tX2lvKSk7Cj4gICAK PiAgICAgICAvKgo+ICAgICAgICAqIEluaXRpYWxpc2Ugb3VyIENPVyBkb21haW4uCj4gICAgICAg ICogVGhpcyBkb21haW4gb3ducyBzaGFyYWJsZSBwYWdlcy4KPiAgICAgICAgKi8KPiAtICAgIGRv bV9jb3cgPSBkb21haW5fY3JlYXRlKERPTUlEX0NPVywgMCwgMCwgTlVMTCk7Cj4gKyAgICBkb21f Y293ID0gZG9tYWluX2NyZWF0ZShET01JRF9DT1csIE5VTEwpOwo+ICAgICAgIEJVR19PTihJU19F UlIoZG9tX2NvdykpOwo+ICAgCj4gICAgICAgLyoKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L3NldHVwLmMgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwo+IGluZGV4IGE2ZGM1ZGYuLmE0NDA1YjQg MTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKPiArKysgYi94ZW4vYXJjaC94ODYv c2V0dXAuYwo+IEBAIC02NjAsNyArNjYwLDcgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFy dF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKPiAgIHsKPiAgICAgICBjaGFyICptZW1tYXBfdHlw ZSA9IE5VTEw7Cj4gICAgICAgY2hhciAqY21kbGluZSwgKmtleHRyYSwgKmxvYWRlcjsKPiAtICAg IHVuc2lnbmVkIGludCBpbml0cmRpZHgsIGRvbWNyX2ZsYWdzID0gWEVOX0RPTUNUTF9DREZfczNf aW50ZWdyaXR5Owo+ICsgICAgdW5zaWduZWQgaW50IGluaXRyZGlkeDsKPiAgICAgICBtdWx0aWJv b3RfaW5mb190ICptYmk7Cj4gICAgICAgbW9kdWxlX3QgKm1vZDsKPiAgICAgICB1bnNpZ25lZCBs b25nIG5yX3BhZ2VzLCByYXdfbWF4X3BhZ2UsIG1vZHVsZXNfaGVhZHJvb20sICptb2R1bGVfbWFw Owo+IEBAIC02NzEsNyArNjcxLDkgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4o dW5zaWduZWQgbG9uZyBtYmlfcCkKPiAgICAgICAgICAgLnBhcml0eSAgICA9ICduJywKPiAgICAg ICAgICAgLnN0b3BfYml0cyA9IDEKPiAgICAgICB9Owo+IC0gICAgc3RydWN0IHhlbl9hcmNoX2Rv bWFpbmNvbmZpZyBjb25maWcgPSB7IC5lbXVsYXRpb25fZmxhZ3MgPSAwIH07Cj4gKyAgICBzdHJ1 Y3QgeGVuX2RvbWN0bF9jcmVhdGVkb21haW4gZG9tMF9jZmcgPSB7Cj4gKyAgICAgICAgLmZsYWdz ID0gWEVOX0RPTUNUTF9DREZfczNfaW50ZWdyaXR5LAo+ICsgICAgfTsKPiAgIAo+ICAgICAgIC8q IENyaXRpY2FsIHJlZ2lvbiB3aXRob3V0IElEVCBvciBUU1MuICBBbnkgZmF1bHQgaXMgZGVhZGx5 ISAqLwo+ICAgCj4gQEAgLTE2MzIsMTQgKzE2MzQsMTYgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4g X19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKPiAgIAo+ICAgICAgIGlmICggZG9tMF9w dmggKQo+ICAgICAgIHsKPiAtICAgICAgICBkb21jcl9mbGFncyB8PSBYRU5fRE9NQ1RMX0NERl9o dm1fZ3Vlc3QgfAo+IC0gICAgICAgICAgICAgICAgICAgICAgICgoaHZtX2Z1bmNzLmhhcF9zdXBw b3J0ZWQgJiYgIW9wdF9kb20wX3NoYWRvdykgPwo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg WEVOX0RPTUNUTF9DREZfaGFwIDogMCk7Cj4gLSAgICAgICAgY29uZmlnLmVtdWxhdGlvbl9mbGFn cyA9IFhFTl9YODZfRU1VX0xBUElDfFhFTl9YODZfRU1VX0lPQVBJQzsKPiArICAgICAgICBkb20w X2NmZy5mbGFncyB8PSAoWEVOX0RPTUNUTF9DREZfaHZtX2d1ZXN0IHwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgKChodm1fZnVuY3MuaGFwX3N1cHBvcnRlZCAmJiAhb3B0X2RvbTBfc2hh ZG93KSA/Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fRE9NQ1RMX0NERl9oYXAg OiAwKSk7Cj4gKwo+ICsgICAgICAgIGRvbTBfY2ZnLmNvbmZpZy5lbXVsYXRpb25fZmxhZ3MgPQo+ ICsgICAgICAgICAgICBYRU5fWDg2X0VNVV9MQVBJQyB8IFhFTl9YODZfRU1VX0lPQVBJQzsKPiAg ICAgICB9Cj4gICAKPiAgICAgICAvKiBDcmVhdGUgaW5pdGlhbCBkb21haW4gMC4gKi8KPiAtICAg IGRvbTAgPSBkb21haW5fY3JlYXRlKGdldF9pbml0aWFsX2RvbWFpbl9pZCgpLCBkb21jcl9mbGFn cywgMCwgJmNvbmZpZyk7Cj4gKyAgICBkb20wID0gZG9tYWluX2NyZWF0ZShnZXRfaW5pdGlhbF9k b21haW5faWQoKSwgJmRvbTBfY2ZnKTsKPiAgICAgICBpZiAoIElTX0VSUihkb20wKSB8fCAoYWxs b2NfZG9tMF92Y3B1MChkb20wKSA9PSBOVUxMKSApCj4gICAgICAgICAgIHBhbmljKCJFcnJvciBj cmVhdGluZyBkb21haW4gMCIpOwo+ICAgCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tYWlu LmMgYi94ZW4vY29tbW9uL2RvbWFpbi5jCj4gaW5kZXggNTgyZTNlNS4uYjAwY2MxZiAxMDA2NDQK PiAtLS0gYS94ZW4vY29tbW9uL2RvbWFpbi5jCj4gKysrIGIveGVuL2NvbW1vbi9kb21haW4uYwo+ IEBAIC0yNjAsOSArMjYwLDggQEAgc3RhdGljIGludCBfX2luaXQgcGFyc2VfZXh0cmFfZ3Vlc3Rf aXJxcyhjb25zdCBjaGFyICpzKQo+ICAgfQo+ICAgY3VzdG9tX3BhcmFtKCJleHRyYV9ndWVzdF9p cnFzIiwgcGFyc2VfZXh0cmFfZ3Vlc3RfaXJxcyk7Cj4gICAKPiAtc3RydWN0IGRvbWFpbiAqZG9t YWluX2NyZWF0ZShkb21pZF90IGRvbWlkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3MsCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3NpZHJlZiwKPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWluY29uZmlnICpjb25maWcp Cj4gK3N0cnVjdCBkb21haW4gKmRvbWFpbl9jcmVhdGUoZG9taWRfdCBkb21pZCwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9jcmVhdGVkb21haW4gKmNv bmZpZykKPiAgIHsKPiAgICAgICBzdHJ1Y3QgZG9tYWluICpkLCAqKnBkLCAqb2xkX2h3ZG9tID0g TlVMTDsKPiAgICAgICBlbnVtIHsgSU5JVF94c20gPSAxdTw8MCwgSU5JVF93YXRjaGRvZyA9IDF1 PDwxLCBJTklUX3Jhbmdlc2V0ID0gMXU8PDIsCj4gQEAgLTI3NCw2ICsyNzMsOSBAQCBzdHJ1Y3Qg ZG9tYWluICpkb21haW5fY3JlYXRlKGRvbWlkX3QgZG9taWQsIHVuc2lnbmVkIGludCBkb21jcl9m bGFncywKPiAgIAo+ICAgICAgIGQtPmRvbWFpbl9pZCA9IGRvbWlkOwo+ICAgCj4gKyAgICAvKiBE ZWJ1ZyBzYW5pdHkuICovCj4gKyAgICBBU1NFUlQoaXNfc3lzdGVtX2RvbWFpbihkKSA/IGNvbmZp ZyA9PSBOVUxMIDogY29uZmlnICE9IE5VTEwpOwo+ICsKPiAgICAgICBUUkFDRV8xRChUUkNfRE9N MF9ET01fQURELCBkLT5kb21haW5faWQpOwo+ICAgCj4gICAgICAgbG9ja19wcm9maWxlX3JlZ2lz dGVyX3N0cnVjdChMT0NLUFJPRl9UWVBFX1BFUkRPTSwgZCwgZG9taWQsICJEb21haW4iKTsKPiBA QCAtMzA0LDExICszMDYsNiBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5fY3JlYXRlKGRvbWlkX3Qg ZG9taWQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKPiAgICAgICBpZiAoICF6YWxsb2NfY3B1 bWFza192YXIoJmQtPmRpcnR5X2NwdW1hc2spICkKPiAgICAgICAgICAgZ290byBmYWlsOwo+ICAg Cj4gLSAgICBpZiAoIGRvbWNyX2ZsYWdzICYgWEVOX0RPTUNUTF9DREZfaHZtX2d1ZXN0ICkKPiAt ICAgICAgICBkLT5ndWVzdF90eXBlID0gZ3Vlc3RfdHlwZV9odm07Cj4gLSAgICBlbHNlCj4gLSAg ICAgICAgZC0+Z3Vlc3RfdHlwZSA9IGd1ZXN0X3R5cGVfcHY7Cj4gLQo+ICAgICAgIHJhbmdlc2V0 X2RvbWFpbl9pbml0aWFsaXNlKGQpOwo+ICAgICAgIGluaXRfc3RhdHVzIHw9IElOSVRfcmFuZ2Vz ZXQ7Cj4gICAKPiBAQCAtMzE4LDYgKzMxNSwxMSBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5fY3Jl YXRlKGRvbWlkX3QgZG9taWQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKPiAgIAo+ICAgICAg IGlmICggIWlzX2lkbGVfZG9tYWluKGQpICkKPiAgICAgICB7Cj4gKyAgICAgICAgaWYgKCBjb25m aWctPmZsYWdzICYgWEVOX0RPTUNUTF9DREZfaHZtX2d1ZXN0ICkKPiArICAgICAgICAgICAgZC0+ Z3Vlc3RfdHlwZSA9IGd1ZXN0X3R5cGVfaHZtOwo+ICsgICAgICAgIGVsc2UKPiArICAgICAgICAg ICAgZC0+Z3Vlc3RfdHlwZSA9IGd1ZXN0X3R5cGVfcHY7Cj4gKwo+ICAgICAgICAgICB3YXRjaGRv Z19kb21haW5faW5pdChkKTsKPiAgICAgICAgICAgaW5pdF9zdGF0dXMgfD0gSU5JVF93YXRjaGRv ZzsKPiAgIAo+IEBAIC0zMzEsNyArMzMzLDcgQEAgc3RydWN0IGRvbWFpbiAqZG9tYWluX2NyZWF0 ZShkb21pZF90IGRvbWlkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3MsCj4gICAgICAgICAgICAg ICBoYXJkd2FyZV9kb21haW4gPSBkOwo+ICAgICAgICAgICB9Cj4gICAKPiAtICAgICAgICBpZiAo IGRvbWNyX2ZsYWdzICYgWEVOX0RPTUNUTF9DREZfeHNfZG9tYWluICkKPiArICAgICAgICBpZiAo IGNvbmZpZy0+ZmxhZ3MgJiBYRU5fRE9NQ1RMX0NERl94c19kb21haW4gKQo+ICAgICAgICAgICB7 Cj4gICAgICAgICAgICAgICBkLT5pc194ZW5zdG9yZSA9IDE7Cj4gICAgICAgICAgICAgICBkLT5k aXNhYmxlX21pZ3JhdGUgPSAxOwo+IEBAIC0zNDIsNyArMzQ0LDcgQEAgc3RydWN0IGRvbWFpbiAq ZG9tYWluX2NyZWF0ZShkb21pZF90IGRvbWlkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3MsCj4g ICAgICAgICAgIGlmICggIWQtPmlvbWVtX2NhcHMgfHwgIWQtPmlycV9jYXBzICkKPiAgICAgICAg ICAgICAgIGdvdG8gZmFpbDsKPiAgIAo+IC0gICAgICAgIGlmICggKGVyciA9IHhzbV9kb21haW5f Y3JlYXRlKFhTTV9IT09LLCBkLCBzc2lkcmVmKSkgIT0gMCApCj4gKyAgICAgICAgaWYgKCAoZXJy ID0geHNtX2RvbWFpbl9jcmVhdGUoWFNNX0hPT0ssIGQsIGNvbmZpZy0+c3NpZHJlZikpICE9IDAg KQo+ICAgICAgICAgICAgICAgZ290byBmYWlsOwo+ICAgCj4gICAgICAgICAgIGQtPmNvbnRyb2xs ZXJfcGF1c2VfY291bnQgPSAxOwo+IEBAIC0zNzMsNyArMzc1LDcgQEAgc3RydWN0IGRvbWFpbiAq ZG9tYWluX2NyZWF0ZShkb21pZF90IGRvbWlkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3MsCj4g ICAgICAgICAgICAgICBnb3RvIGZhaWw7Cj4gICAgICAgfQo+ICAgCj4gLSAgICBpZiAoIChlcnIg PSBhcmNoX2RvbWFpbl9jcmVhdGUoZCwgZG9tY3JfZmxhZ3MsIGNvbmZpZykpICE9IDAgKQo+ICsg ICAgaWYgKCAoZXJyID0gYXJjaF9kb21haW5fY3JlYXRlKGQsIGNvbmZpZykpICE9IDAgKQo+ICAg ICAgICAgICBnb3RvIGZhaWw7Cj4gICAgICAgaW5pdF9zdGF0dXMgfD0gSU5JVF9hcmNoOwo+ICAg Cj4gQEAgLTM4NSw2ICszODcsMTEgQEAgc3RydWN0IGRvbWFpbiAqZG9tYWluX2NyZWF0ZShkb21p ZF90IGRvbWlkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3MsCj4gICAgICAgICAgIGlmICggKGVy ciA9IGxhdGVfaHdkb21faW5pdChkKSkgIT0gMCApCj4gICAgICAgICAgICAgICBnb3RvIGZhaWw7 Cj4gICAKPiArICAgICAgICAvKgo+ICsgICAgICAgICAqIE11c3Qgbm90IGZhaWwgYmV5b25kIHRo aXMgcG9pbnQsIGFzIG91ciBjYWxsZXIgZG9lc24ndCBrbm93IHdoZXRoZXIKPiArICAgICAgICAg KiB0aGUgZG9tYWluIGhhcyBiZWVuIGVudGVyZWQgaW50byBkb21haW5fbGlzdCBvciBub3QuCj4g KyAgICAgICAgICovCj4gKwo+ICAgICAgICAgICBzcGluX2xvY2soJmRvbWxpc3RfdXBkYXRlX2xv Y2spOwo+ICAgICAgICAgICBwZCA9ICZkb21haW5fbGlzdDsgLyogTkIuIGRvbWFpbl9saXN0IG1h aW50YWluZWQgaW4gb3JkZXIgb2YgZG9taWQuICovCj4gICAgICAgICAgIGZvciAoIHBkID0gJmRv bWFpbl9saXN0OyAqcGQgIT0gTlVMTDsgcGQgPSAmKCpwZCktPm5leHRfaW5fbGlzdCApCj4gQEAg LTM5NSw2ICs0MDIsOCBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5fY3JlYXRlKGRvbWlkX3QgZG9t aWQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKPiAgICAgICAgICAgcmN1X2Fzc2lnbl9wb2lu dGVyKCpwZCwgZCk7Cj4gICAgICAgICAgIHJjdV9hc3NpZ25fcG9pbnRlcihkb21haW5faGFzaFtE T01BSU5fSEFTSChkb21pZCldLCBkKTsKPiAgICAgICAgICAgc3Bpbl91bmxvY2soJmRvbWxpc3Rf dXBkYXRlX2xvY2spOwo+ICsKPiArICAgICAgICBtZW1jcHkoZC0+aGFuZGxlLCBjb25maWctPmhh bmRsZSwgc2l6ZW9mKGQtPmhhbmRsZSkpOwo+ICAgICAgIH0KPiAgIAo+ICAgICAgIHJldHVybiBk Owo+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2RvbWN0bC5jIGIveGVuL2NvbW1vbi9kb21jdGwu Ywo+IGluZGV4IGE3M2UxYTQuLjliN2JjMDggMTAwNjQ0Cj4gLS0tIGEveGVuL2NvbW1vbi9kb21j dGwuYwo+ICsrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKPiBAQCAtNTMyLDkgKzUzMiw3IEBAIGxv bmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0 bCkKPiAgICAgICAgICAgICAgIHJvdmVyID0gZG9tOwo+ICAgICAgICAgICB9Cj4gICAKPiAtICAg ICAgICBkID0gZG9tYWluX2NyZWF0ZShkb20sIG9wLT51LmNyZWF0ZWRvbWFpbi5mbGFncywKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+dS5jcmVhdGVkb21haW4uc3NpZHJlZiwKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAmb3AtPnUuY3JlYXRlZG9tYWluLmNvbmZpZyk7Cj4g KyAgICAgICAgZCA9IGRvbWFpbl9jcmVhdGUoZG9tLCAmb3AtPnUuY3JlYXRlZG9tYWluKTsKPiAg ICAgICAgICAgaWYgKCBJU19FUlIoZCkgKQo+ICAgICAgICAgICB7Cj4gICAgICAgICAgICAgICBy ZXQgPSBQVFJfRVJSKGQpOwo+IEBAIC01NDMsMTAgKzU0MSw2IEBAIGxvbmcgZG9fZG9tY3RsKFhF Tl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkKPiAgICAgICAgICAg fQo+ICAgCj4gICAgICAgICAgIHJldCA9IDA7Cj4gLQo+IC0gICAgICAgIG1lbWNweShkLT5oYW5k bGUsIG9wLT51LmNyZWF0ZWRvbWFpbi5oYW5kbGUsCj4gLSAgICAgICAgICAgICAgIHNpemVvZih4 ZW5fZG9tYWluX2hhbmRsZV90KSk7Cj4gLQo+ICAgICAgICAgICBvcC0+ZG9tYWluID0gZC0+ZG9t YWluX2lkOwo+ICAgICAgICAgICBjb3B5YmFjayA9IDE7Cj4gICAgICAgICAgIGQgPSBOVUxMOwo+ IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3NjaGVkdWxlLmMgYi94ZW4vY29tbW9uL3NjaGVkdWxl LmMKPiBpbmRleCA2NDUyNGY0Li5iM2MyNjYwIDEwMDY0NAo+IC0tLSBhL3hlbi9jb21tb24vc2No ZWR1bGUuYwo+ICsrKyBiL3hlbi9jb21tb24vc2NoZWR1bGUuYwo+IEBAIC0xNzM0LDcgKzE3MzQs NyBAQCB2b2lkIF9faW5pdCBzY2hlZHVsZXJfaW5pdCh2b2lkKQo+ICAgICAgICAgICBzY2hlZF9y YXRlbGltaXRfdXMgPSBTQ0hFRF9ERUZBVUxUX1JBVEVMSU1JVF9VUzsKPiAgICAgICB9Cj4gICAK PiAtICAgIGlkbGVfZG9tYWluID0gZG9tYWluX2NyZWF0ZShET01JRF9JRExFLCAwLCAwLCBOVUxM KTsKPiArICAgIGlkbGVfZG9tYWluID0gZG9tYWluX2NyZWF0ZShET01JRF9JRExFLCBOVUxMKTsK PiAgICAgICBCVUdfT04oSVNfRVJSKGlkbGVfZG9tYWluKSk7Cj4gICAgICAgaWRsZV9kb21haW4t PnZjcHUgPSBpZGxlX3ZjcHU7Cj4gICAgICAgaWRsZV9kb21haW4tPm1heF92Y3B1cyA9IG5yX2Nw dV9pZHM7Cj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9kb21haW4uaCBiL3hlbi9pbmNs dWRlL3hlbi9kb21haW4uaAo+IGluZGV4IGViNjJmMWQuLjE3N2NiMzUgMTAwNjQ0Cj4gLS0tIGEv eGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oCj4gKysrIGIveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5o Cj4gQEAgLTU1LDggKzU1LDggQEAgdm9pZCB2Y3B1X2Rlc3Ryb3koc3RydWN0IHZjcHUgKnYpOwo+ ICAgaW50IG1hcF92Y3B1X2luZm8oc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1 bnNpZ25lZCBvZmZzZXQpOwo+ICAgdm9pZCB1bm1hcF92Y3B1X2luZm8oc3RydWN0IHZjcHUgKnYp Owo+ICAgCj4gLWludCBhcmNoX2RvbWFpbl9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgaW50IGRvbWNyX2ZsYWdzLAo+IC0gICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5f YXJjaF9kb21haW5jb25maWcgKmNvbmZpZyk7Cj4gK2ludCBhcmNoX2RvbWFpbl9jcmVhdGUoc3Ry dWN0IGRvbWFpbiAqZCwKPiArICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0 bF9jcmVhdGVkb21haW4gKmNvbmZpZyk7Cj4gICAKPiAgIHZvaWQgYXJjaF9kb21haW5fZGVzdHJv eShzdHJ1Y3QgZG9tYWluICpkKTsKPiAgIAo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4v c2NoZWQuaCBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oCj4gaW5kZXggOWFmNzhhYy4uYzE1YzM5 ZSAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaAo+ICsrKyBiL3hlbi9pbmNs dWRlL3hlbi9zY2hlZC5oCj4gQEAgLTUzOSw5ICs1MzksOCBAQCB2b2lkIGRvbWFpbl91cGRhdGVf bm9kZV9hZmZpbml0eShzdHJ1Y3QgZG9tYWluICpkKTsKPiAgICAqIENyZWF0ZSBhIGRvbWFpbjog dGhlIGNvbmZpZ3VyYXRpb24gaXMgb25seSBuZWNlc3NhcnkgZm9yIHJlYWwgZG9tYWluCj4gICAg KiAoZG9taWQgPCBET01JRF9GSVJTVF9SRVNFUlZFRCkuCj4gICAgKi8KPiAtc3RydWN0IGRvbWFp biAqZG9tYWluX2NyZWF0ZShkb21pZF90IGRvbWlkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3Ms Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3NpZHJlZiwKPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWluY29uZmlnICpj b25maWcpOwo+ICtzdHJ1Y3QgZG9tYWluICpkb21haW5fY3JlYXRlKGRvbWlkX3QgZG9taWQsCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfY3JlYXRlZG9t YWluICpjb25maWcpOwo+ICAgCj4gICAvKgo+ICAgICogcmN1X2xvY2tfZG9tYWluX2J5X2lkKCkg aXMgbW9yZSBlZmZpY2llbnQgdGhhbiBnZXRfZG9tYWluX2J5X2lkKCkuCj4gCgotLSAKSnVsaWVu IEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs