From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH 12/18] arm/altp2m: Cosmetic fixes - function prototypes. Date: Fri, 15 Jul 2016 14:45:24 +0100 Message-ID: <5788E8F4.4030504@arm.com> References: <20160704114605.10086-1-proskurin@sec.in.tum.de> <20160704114605.10086-13-proskurin@sec.in.tum.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bO3R2-0001GC-Us for xen-devel@lists.xenproject.org; Fri, 15 Jul 2016 13:45:45 +0000 In-Reply-To: <20160704114605.10086-13-proskurin@sec.in.tum.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Sergej Proskurin , xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Tamas K Lengyel List-Id: xen-devel@lists.xenproject.org SGkgU2VyZ2VqLAoKT24gMDQvMDcvMTYgMTI6NDUsIFNlcmdlaiBQcm9za3VyaW4gd3JvdGU6Cj4g VGhpcyBjb21taXQgY2hhbmdlcyB0aGUgcHJvdG90eXBlIG9mIHRoZSBmb2xsb3dpbmcgZnVuY3Rp b25zOgo+IC0gYXBwbHlfcDJtX2NoYW5nZXMKPiAtIGFwcGx5X29uZV9sZXZlbAo+IC0gcDJtX3No YXR0ZXJfcGFnZQo+IC0gcDJtX2NyZWF0ZV90YWJsZQo+IC0gX19wMm1fbG9va3VwCj4gLSBfX3Ay bV9nZXRfbWVtX2FjY2Vzcwo+Cj4gVGhlc2UgY2hhbmdlcyBhcmUgcmVxdWlyZWQgYXMgb3VyIGlt cGxlbWVudGF0aW9uIHJldXNlcyBtb3N0IG9mIHRoZQo+IGV4aXN0aW5nIEFSTSBwMm0gaW1wbGVt ZW50YXRpb24gdG8gc2V0IHBhZ2UgdGFibGUgYXR0cmlidXRlcyBvZiB0aGUKPiBpbmRpdmlkdWFs IGFsdHAybSB2aWV3cy4gVGhlcmVmb3JlLCBleGl0aW5nIGZ1bmN0aW9uIHByb3RvdHlwZXMgaGF2 ZQo+IGJlZW4gZXh0ZW5kZWQgdG8gaG9sZCBhbm90aGVyIGFyZ3VtZW50IChvZiB0eXBlIHN0cnVj dCBwMm1fZG9tYWluICopLgo+IFRoaXMgYWxsb3dzIHRvIHNwZWNpZnkgdGhlIHAybS9hbHRwMm0g ZG9tYWluIHRoYXQgc2hvdWxkIGJlIHByb2Nlc3NlZCBieQo+IHRoZSBpbmRpdmlkdWFsIGZ1bmN0 aW9uIC0tIGluc3RlYWQgb2YgYWNjZXNzaW5nIHRoZSBob3N0J3MgZGVmYXVsdCBwMm0KPiBkb21h aW4uCgpJIGFtIGFjdHVhbGx5IHJld29ya2luZyB0aGUgd2hvbGUgcDJtIGNvZGUgdG8gYmUgY29t cGxhaW4gd2l0aCB0aGUgQVJNIAphcmNoaXRlY3R1cmUgKHN1Y2ggYXMgYnJlYWstYmVmb3JlLW1h a2UpIGFuZCBtYWtlIGVhc2llciB0byBpbXBsZW1lbnQgCm5ldyBmZWF0dXJlcyBzdWNoIGFzIGFs dHAybS4KCldvdWxkIGl0IGJlIHBvc3NpYmxlIHRvIHNlbmQgdGhpcyBwYXRjaCBzZXBhcmF0ZWx5 IHdpdGggbm90aGluZyBhbHRwMm0gCnJlbGF0ZWQgaW4gaXQ/Cgo+Cj4gU2lnbmVkLW9mZi1ieTog U2VyZ2VqIFByb3NrdXJpbiA8cHJvc2t1cmluQHNlYy5pbi50dW0uZGU+Cj4gLS0tCj4gQ2M6IFN0 ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KPiBDYzogSnVsaWVuIEdy YWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KPiAtLS0KPiAgIHhlbi9hcmNoL2FybS9wMm0uYyB8 IDgwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+ICAgMSBmaWxlIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQo+ Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwo+ IGluZGV4IDAxOWYxMGUuLjljOGZlZmQgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gvYXJtL3AybS5j Cj4gKysrIGIveGVuL2FyY2gvYXJtL3AybS5jCj4gQEAgLTIwMCw5ICsyMDAsOCBAQCB2b2lkIGZs dXNoX3RsYl9kb21haW4oc3RydWN0IGRvbWFpbiAqZCkKPiAgICAqIFRoZXJlIGFyZSBubyBwcm9j ZXNzb3IgZnVuY3Rpb25zIHRvIGRvIGEgc3RhZ2UgMiBvbmx5IGxvb2t1cCB0aGVyZWZvcmUgd2UK PiAgICAqIGRvIGEgYSBzb2Z0d2FyZSB3YWxrLgo+ICAgICovCj4gLXN0YXRpYyBwYWRkcl90IF9f cDJtX2xvb2t1cChzdHJ1Y3QgZG9tYWluICpkLCBwYWRkcl90IHBhZGRyLCBwMm1fdHlwZV90ICp0 KQo+ICtzdGF0aWMgcGFkZHJfdCBfX3AybV9sb29rdXAoc3RydWN0IHAybV9kb21haW4gKnAybSwg cGFkZHJfdCBwYWRkciwgcDJtX3R5cGVfdCAqdCkKPiAgIHsKPiAtICAgIHN0cnVjdCBwMm1fZG9t YWluICpwMm0gPSAmZC0+YXJjaC5wMm07Cj4gICAgICAgY29uc3QgdW5zaWduZWQgaW50IG9mZnNl dHNbNF0gPSB7Cj4gICAgICAgICAgIHplcm9ldGhfdGFibGVfb2Zmc2V0KHBhZGRyKSwKPiAgICAg ICAgICAgZmlyc3RfdGFibGVfb2Zmc2V0KHBhZGRyKSwKPiBAQCAtMjgyLDEwICsyODEsMTEgQEAg ZXJyOgo+ICAgcGFkZHJfdCBwMm1fbG9va3VwKHN0cnVjdCBkb21haW4gKmQsIHBhZGRyX3QgcGFk ZHIsIHAybV90eXBlX3QgKnQpCj4gICB7Cj4gICAgICAgcGFkZHJfdCByZXQ7Cj4gLSAgICBzdHJ1 Y3QgcDJtX2RvbWFpbiAqcDJtID0gJmQtPmFyY2gucDJtOwo+ICsgICAgc3RydWN0IHZjcHUgKnYg PSBjdXJyZW50Owo+ICsgICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IGFsdHAybV9hY3RpdmUo ZCkgPyBwMm1fZ2V0X2FsdHAybSh2KSA6IHAybV9nZXRfaG9zdHAybShkKTsKClRoaXMgY2hhbmdl IGlzIHdyb25nLCB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBpbiBoeXBlcmNhbGxzIHRvIHRyYW5z bGF0ZSAKYW4gSVBBIGZvciBhbm90aGVyIGRvbWFpbiB0byBhbiBNRk4uIFNvIGN1cnJlbnQtPmRv bWFpbiAhPSBkLgoKPgo+ICAgICAgIHNwaW5fbG9jaygmcDJtLT5sb2NrKTsKPiAtICAgIHJldCA9 IF9fcDJtX2xvb2t1cChkLCBwYWRkciwgdCk7Cj4gKyAgICByZXQgPSBfX3AybV9sb29rdXAocDJt LCBwYWRkciwgdCk7Cj4gICAgICAgc3Bpbl91bmxvY2soJnAybS0+bG9jayk7Cj4KPiAgICAgICBy ZXR1cm4gcmV0Owo+IEBAIC00NDEsMTAgKzQ0MSwxMiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcDJt X3JlbW92ZV9wdGUobHBhZV90ICpwLCBib29sX3QgZmx1c2hfY2FjaGUpCj4gICAgKgo+ICAgICog bGV2ZWxfc2hpZnQgaXMgdGhlIG51bWJlciBvZiBiaXRzIGF0IHRoZSBsZXZlbCB3ZSB3YW50IHRv IGNyZWF0ZS4KPiAgICAqLwo+IC1zdGF0aWMgaW50IHAybV9jcmVhdGVfdGFibGUoc3RydWN0IGRv bWFpbiAqZCwgbHBhZV90ICplbnRyeSwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCBsZXZlbF9zaGlmdCwgYm9vbF90IGZsdXNoX2NhY2hlKQo+ICtzdGF0aWMgaW50IHAybV9jcmVh dGVfdGFibGUoc3RydWN0IGRvbWFpbiAqZCwKClBsZWFzZSBkcm9wICJzdHJ1Y3QgZG9tYWluICpk IiwgaXQgd2FzIG9ubHkgaGVyZSB0byBnZXQgdGhlIHAybS4KCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbHBhZV90ICplbnRyeSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCBsZXZlbF9zaGlmdCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVz aF9jYWNoZSkKPiAgIHsKPiAtICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSAmZC0+YXJjaC5w Mm07Cj4gICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZTsKPiAgICAgICBscGFlX3QgKnA7Cj4g ICAgICAgbHBhZV90IHB0ZTsKPiBAQCAtNTAyLDEwICs1MDQsOSBAQCBzdGF0aWMgaW50IHAybV9j cmVhdGVfdGFibGUoc3RydWN0IGRvbWFpbiAqZCwgbHBhZV90ICplbnRyeSwKPiAgICAgICByZXR1 cm4gMDsKPiAgIH0KPgo+IC1zdGF0aWMgaW50IF9fcDJtX2dldF9tZW1fYWNjZXNzKHN0cnVjdCBk b21haW4gKmQsIGdmbl90IGdmbiwKPiArc3RhdGljIGludCBfX3AybV9nZXRfbWVtX2FjY2Vzcyhz dHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBnZm5fdCBnZm4sCj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHhlbm1lbV9hY2Nlc3NfdCAqYWNjZXNzKQo+ICAgewo+IC0gICAgc3RydWN0 IHAybV9kb21haW4gKnAybSA9IHAybV9nZXRfaG9zdHAybShkKTsKPiAgICAgICB2b2lkICppOwo+ ICAgICAgIHVuc2lnbmVkIGludCBpbmRleDsKPgo+IEBAIC01NDgsNyArNTQ5LDcgQEAgc3RhdGlj IGludCBfX3AybV9nZXRfbWVtX2FjY2VzcyhzdHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4sCj4g ICAgICAgICAgICAqIE5vIHNldHRpbmcgd2FzIGZvdW5kIGluIHRoZSBSYWRpeCB0cmVlLiBDaGVj ayBpZiB0aGUKPiAgICAgICAgICAgICogZW50cnkgZXhpc3RzIGluIHRoZSBwYWdlLXRhYmxlcy4K PiAgICAgICAgICAgICovCj4gLSAgICAgICAgcGFkZHJfdCBtYWRkciA9IF9fcDJtX2xvb2t1cChk LCBnZm5feChnZm4pIDw8IFBBR0VfU0hJRlQsIE5VTEwpOwo+ICsgICAgICAgIHBhZGRyX3QgbWFk ZHIgPSBfX3AybV9sb29rdXAocDJtLCBnZm5feChnZm4pIDw8IFBBR0VfU0hJRlQsIE5VTEwpOwo+ ICAgICAgICAgICBpZiAoIElOVkFMSURfUEFERFIgPT0gbWFkZHIgKQo+ICAgICAgICAgICAgICAg cmV0dXJuIC1FU1JDSDsKPgo+IEBAIC02NzcsMTcgKzY3OCwxNyBAQCBzdGF0aWMgY29uc3QgcGFk ZHJfdCBsZXZlbF9zaGlmdHNbXSA9Cj4gICAgICAgeyBaRVJPRVRIX1NISUZULCBGSVJTVF9TSElG VCwgU0VDT05EX1NISUZULCBUSElSRF9TSElGVCB9Owo+Cj4gICBzdGF0aWMgaW50IHAybV9zaGF0 dGVyX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwKCkRpdHRvLgoKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbHBhZV90ICplbnRyeSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBpbnQgbGV2ZWwsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90 IGZsdXNoX2NhY2hlKQo+ICAgewo+ICAgICAgIGNvbnN0IHBhZGRyX3QgbGV2ZWxfc2hpZnQgPSBs ZXZlbF9zaGlmdHNbbGV2ZWxdOwo+IC0gICAgaW50IHJjID0gcDJtX2NyZWF0ZV90YWJsZShkLCBl bnRyeSwKPiArICAgIGludCByYyA9IHAybV9jcmVhdGVfdGFibGUoZCwgcDJtLCBlbnRyeSwKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsX3NoaWZ0IC0gUEFHRV9TSElGVCwg Zmx1c2hfY2FjaGUpOwo+Cj4gICAgICAgaWYgKCAhcmMgKQo+ICAgICAgIHsKPiAtICAgICAgICBz dHJ1Y3QgcDJtX2RvbWFpbiAqcDJtID0gJmQtPmFyY2gucDJtOwo+ICAgICAgICAgICBwMm0tPnN0 YXRzLnNoYXR0ZXJlZFtsZXZlbF0rKzsKPiAgICAgICAgICAgcDJtLT5zdGF0cy5tYXBwaW5nc1ts ZXZlbF0tLTsKPiAgICAgICAgICAgcDJtLT5zdGF0cy5tYXBwaW5nc1tsZXZlbCsxXSArPSBMUEFF X0VOVFJJRVM7Cj4gQEAgLTcwNCw2ICs3MDUsNyBAQCBzdGF0aWMgaW50IHAybV9zaGF0dGVyX3Bh Z2Uoc3RydWN0IGRvbWFpbiAqZCwKPiAgICAqIC12ZSA9PSAoLUV4eHgpIGVycm9yLgo+ICAgICov Cj4gICBzdGF0aWMgaW50IGFwcGx5X29uZV9sZXZlbChzdHJ1Y3QgZG9tYWluICpkLAoKRGl0dG8u Cgo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHBhZV90ICplbnRyeSwKPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZXZlbCwKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9jYWNoZSwKPiBAQCAtNzIxLDcgKzcyMyw2IEBAIHN0 YXRpYyBpbnQgYXBwbHlfb25lX2xldmVsKHN0cnVjdCBkb21haW4gKmQsCj4gICAgICAgY29uc3Qg cGFkZHJfdCBsZXZlbF9tYXNrID0gbGV2ZWxfbWFza3NbbGV2ZWxdOwo+ICAgICAgIGNvbnN0IHBh ZGRyX3QgbGV2ZWxfc2hpZnQgPSBsZXZlbF9zaGlmdHNbbGV2ZWxdOwo+Cj4gLSAgICBzdHJ1Y3Qg cDJtX2RvbWFpbiAqcDJtID0gJmQtPmFyY2gucDJtOwo+ICAgICAgIGxwYWVfdCBwdGU7Cj4gICAg ICAgY29uc3QgbHBhZV90IG9yaWdfcHRlID0gKmVudHJ5Owo+ICAgICAgIGludCByYzsKClsuLi5d Cgo+IEBAIC0xMDExLDYgKzEwMTIsNyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfcmVmZXJlbmNlX21h cHBpbmcoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwKPiAgIH0KPgo+ICAgc3RhdGljIGludCBhcHBs eV9wMm1fY2hhbmdlcyhzdHJ1Y3QgZG9tYWluICpkLAoKSSB3b3VsZCBsaWtlIHRvIHNlZSAic3Ry dWN0IGRvbWFpbiAqZCIgZHJvcHBlZCBjb21wbGV0ZWx5LiBJZiB3ZSByZWFsbHkgCm5lZWQgaXQs IHdlIGNvdWxkIGludHJvZHVjZSBhIGJhY2sgcG9pbnRlciB0byBkb21haW4uCgo+ICsgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAo+ICAgICAgICAgICAgICAgICAg ICAgICAgZW51bSBwMm1fb3BlcmF0aW9uIG9wLAo+ICAgICAgICAgICAgICAgICAgICAgICAgcGFk ZHJfdCBzdGFydF9ncGFkZHIsCj4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IGVuZF9n cGFkZHIsCgpbLi4uXQoKPiBAQCAtMTc0Myw2ICsxNzQ1LDkgQEAgcDJtX21lbV9hY2Nlc3NfY2hl Y2tfYW5kX2dldF9wYWdlKHZhZGRyX3QgZ3ZhLCB1bnNpZ25lZCBsb25nIGZsYWcpCj4gICAgICAg eGVubWVtX2FjY2Vzc190IHhtYTsKPiAgICAgICBwMm1fdHlwZV90IHQ7Cj4gICAgICAgc3RydWN0 IHBhZ2VfaW5mbyAqcGFnZSA9IE5VTEw7Cj4gKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7 Cj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOwo+ICsgICAgc3RydWN0IHAybV9k b21haW4gKnAybSA9IGFsdHAybV9hY3RpdmUoZCkgPyBwMm1fZ2V0X2FsdHAybSh2KSA6IHAybV9n ZXRfaG9zdHAybShkKTsKClRoaXMgcGF0Y2ggaXMgc3VwcG9zZWQgdG8gYmUgImNvbWVzdGljIGZp eGVzIiwgc28gdGhpcyBjaGFuZ2UgZG9lcyBub3QgCmJlbG9uZyB0byB0aGlzIHBhdGNoLgoKSG93 ZXZlciwgdGhlIGNoYW5nZXMgd2l0aGluIHRoaXMgZnVuY3Rpb24gbG9vayB3cm9uZyB0byBtZSBi ZWNhdXNlIApwMm1fbWVtX2FjY2Vzc19jaGVja19hbmRfZ2V0X3BhZ2UgaXMgdXNlZCBieSBYZW4g dG8gZ2V0IHRoZSBwYWdlIHdoZW4gCmNvcHlpbmcgZGF0YSB0by9mcm9tIHRoZSBndWVzdC4gSWYg dGhlIGVudHJ5IGlzIG5vdCB5ZXQgcmVwbGljYXRlZCBpbiAKdGhlIGFsdHAybSwgeW91IHdpbGwg ZmFpbCB0byBjb3B5IHRoZSBkYXRhLgoKWW91IG1heSBhbHNvIHdhbnQgdG8gY29uc2lkZXIgaG93 IGdldF9wYWdlX2Zyb21fZ3ZhIHdvdWxkIHdvcmsgaWYgYW4gCmFsdHAybSBpcyB1c2VkLgoKPgo+ ICAgICAgIHJjID0gZ3ZhX3RvX2lwYShndmEsICZpcGEsIGZsYWcpOwoKVGhpcyBpcyBub3QgcmVs YXRlZCB0byB0aGlzIHBhdGNoLCBidXQgSSB0aGluayBndmFfdG9faXBhIGNhbiBmYWlsIHRvIAp0 cmFuc2xhdGUgYSBWQSB0byBhbiBJUEEgaWYgdGhlIHN0YWdlLTEgcGFnZSB0YWJsZSByZXNpZGUg aW4gbWVtb3J5IAp3aGljaCB3YXMgcmVzdHJpY3RlZCBieSBtZW1hY2Nlc3MuCgo+ICAgICAgIGlm ICggcmMgPCAwICkKPiBAQCAtMTc1Miw3ICsxNzU3LDcgQEAgcDJtX21lbV9hY2Nlc3NfY2hlY2tf YW5kX2dldF9wYWdlKHZhZGRyX3QgZ3ZhLCB1bnNpZ25lZCBsb25nIGZsYWcpCj4gICAgICAgICog V2UgZG8gdGhpcyBmaXJzdCBhcyB0aGlzIGlzIGZhc3RlciBpbiB0aGUgZGVmYXVsdCBjYXNlIHdo ZW4gbm8KPiAgICAgICAgKiBwZXJtaXNzaW9uIGlzIHNldCBvbiB0aGUgcGFnZS4KPiAgICAgICAg Ki8KPiAtICAgIHJjID0gX19wMm1fZ2V0X21lbV9hY2Nlc3MoY3VycmVudC0+ZG9tYWluLCBfZ2Zu KHBhZGRyX3RvX3BmbihpcGEpKSwgJnhtYSk7Cj4gKyAgICByYyA9IF9fcDJtX2dldF9tZW1fYWNj ZXNzKHAybSwgX2dmbihwYWRkcl90b19wZm4oaXBhKSksICZ4bWEpOwo+ICAgICAgIGlmICggcmMg PCAwICkKPiAgICAgICAgICAgZ290byBlcnI7Cj4KPiBAQCAtMTgwMSw3ICsxODA2LDcgQEAgcDJt X21lbV9hY2Nlc3NfY2hlY2tfYW5kX2dldF9wYWdlKHZhZGRyX3QgZ3ZhLCB1bnNpZ25lZCBsb25n IGZsYWcpCj4gICAgICAgICogV2UgaGFkIGEgbWVtX2FjY2VzcyBwZXJtaXNzaW9uIGxpbWl0aW5n IHRoZSBhY2Nlc3MsIGJ1dCB0aGUgcGFnZSB0eXBlCj4gICAgICAgICogY291bGQgYWxzbyBiZSBs aW1pdGluZywgc28gd2UgbmVlZCB0byBjaGVjayB0aGF0IGFzIHdlbGwuCj4gICAgICAgICovCj4g LSAgICBtYWRkciA9IF9fcDJtX2xvb2t1cChjdXJyZW50LT5kb21haW4sIGlwYSwgJnQpOwo+ICsg ICAgbWFkZHIgPSBfX3AybV9sb29rdXAocDJtLCBpcGEsICZ0KTsKPiAgICAgICBpZiAoIG1hZGRy ID09IElOVkFMSURfUEFERFIgKQo+ICAgICAgICAgICBnb3RvIGVycjsKPgo+IEBAIC0yMTI1LDcg KzIxMzAsNyBAQCBsb25nIHAybV9zZXRfbWVtX2FjY2VzcyhzdHJ1Y3QgZG9tYWluICpkLCBnZm5f dCBnZm4sIHVpbnQzMl90IG5yLAo+ICAgICAgICAgICByZXR1cm4gMDsKPiAgICAgICB9Cj4KPiAt ICAgIHJjID0gYXBwbHlfcDJtX2NoYW5nZXMoZCwgTUVNQUNDRVNTLAo+ICsgICAgcmMgPSBhcHBs eV9wMm1fY2hhbmdlcyhkLCBwMm0sIE1FTUFDQ0VTUywKPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHBmbl90b19wYWRkcihnZm5feChnZm4pICsgc3RhcnQpLAo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGZuX3RvX3BhZGRyKGdmbl94KGdmbikgKyBuciksCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAwLCBNQVRUUl9NRU0sIG1hc2ssIDAsIGEpOwo+IEBAIC0yMTQx LDEwICsyMTQ2LDExIEBAIGludCBwMm1fZ2V0X21lbV9hY2Nlc3Moc3RydWN0IGRvbWFpbiAqZCwg Z2ZuX3QgZ2ZuLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5tZW1fYWNjZXNzX3QgKmFj Y2VzcykKPiAgIHsKPiAgICAgICBpbnQgcmV0Owo+IC0gICAgc3RydWN0IHAybV9kb21haW4gKnAy bSA9IHAybV9nZXRfaG9zdHAybShkKTsKPiArICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsK PiArICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSBhbHRwMm1fYWN0aXZlKGQpID8gcDJtX2dl dF9hbHRwMm0odikgOiBwMm1fZ2V0X2hvc3RwMm0oZCk7CgpTYW1lIHJlbWFyayBhcyBhYm92ZSwg dGhpcyBwYXRjaCBpcyBvbmx5ICJjb21lc3RpYyIgYW5kIGZ1bmN0aW9uYWwgCmNoYW5nZXMgZG9l cyBub3QgYmVsb25nIHRvIHRoaXMgcGF0Y2guCgo+Cj4gICAgICAgc3Bpbl9sb2NrKCZwMm0tPmxv Y2spOwo+IC0gICAgcmV0ID0gX19wMm1fZ2V0X21lbV9hY2Nlc3MoZCwgZ2ZuLCBhY2Nlc3MpOwo+ ICsgICAgcmV0ID0gX19wMm1fZ2V0X21lbV9hY2Nlc3MocDJtLCBnZm4sIGFjY2Vzcyk7Cj4gICAg ICAgc3Bpbl91bmxvY2soJnAybS0+bG9jayk7Cj4KPiAgICAgICByZXR1cm4gcmV0Owo+CgoKUmVn YXJkcywKCi0tIApKdWxpZW4gR3JhbGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=