From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 08229C433E0 for ; Sat, 18 Jul 2020 20:38:17 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CC3072073A for ; Sat, 18 Jul 2020 20:38:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="k2h19XTl" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CC3072073A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References:In-Reply-To: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=RrpsEcxx4QCAjZ77tgOYiZClIoK+M5GIJRv4UTD2xzg=; b=k2h19XTlAr1xWMhXc/KCFB73x fpXdZqbzw16zEGXQ5zWrTmdsSd4tgqILrzBscuV0JWB9hoammq/zqq0Vn3hPE33KZsrSI4JyPuvWO /ERdkMZaThCXSuaAEGwgnglHGEOhJYoMHAT8DRSsfqzrSD3dGot8Gk5AwVEA9SpQRwT5pn15pweFx OSjwKvpVphOMAWx+VCCiGGp64HNkWAfuhRJU4bfW8bLoedR3l0/qC8KEmZb5M+v/kmd6p4p70qnj4 i1CNHcl5QddBr0x8dJyPjj6MpIgsOaX3iBDl81f+CeU3VQ/rue4GA2KokccoDXJhXWziDauwiU2ph WFTvOLfEQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jwtZK-0001ew-5V; Sat, 18 Jul 2020 20:36:26 +0000 Received: from relay8-d.mail.gandi.net ([217.70.183.201]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jwtZG-0001ea-B5 for linux-arm-kernel@lists.infradead.org; Sat, 18 Jul 2020 20:36:23 +0000 X-Originating-IP: 91.175.115.186 Received: from localhost (91-175-115-186.subs.proxad.net [91.175.115.186]) (Authenticated sender: gregory.clement@bootlin.com) by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 7068F1BF204; Sat, 18 Jul 2020 20:36:16 +0000 (UTC) From: Gregory CLEMENT To: Marek =?utf-8?Q?Beh=C3=BAn?= Subject: Re: [PATCH mvebu 1/2] firmware: turris-mox-rwtm: support ECDSA signatures via debugfs In-Reply-To: <20200601210050.31821-1-marek.behun@nic.cz> References: <20200601210050.31821-1-marek.behun@nic.cz> Date: Sat, 18 Jul 2020 22:36:16 +0200 Message-ID: <87365o4l33.fsf@FE-laptop> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200718_163622_601976_D8DE679F X-CRM114-Status: GOOD ( 27.80 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , List-Id: Cc: SoC Team , arm-soc , Linux ARM , Marek =?utf-8?Q?Beh=C3=BAn?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org TWFyZWsgQmVow7puIDxtYXJlay5iZWh1bkBuaWMuY3o+IHdyaXRlczoKCj4gVGhlIGZpcm13YXJl IG9uIFR1cnJpcyBNT1ggc2VjdXJlIHByb2Nlc3NvciBvZmZlcnMgc2lnbmluZyBtZXNzYWdlcwo+ IHdpdGggRUNEU0EgcHJpdmF0ZSBrZXkgc3RvcmVkIGluIHByb3RlY3RlZCBPVFAgbWVtb3J5Lgo+ Cj4gVGhlIG9wdGltYWwgc29sdXRpb24gd291bGQgYmUgdG8gcmVnaXN0ZXIgYW4gYWtjaXBoZXIg cHJvdmlkZXIgdmlhCj4ga2VybmVsJ3MgY3J5cHRvIEFQSSwgYnV0IGNyeXB0byBBUEkgZG9lcyBu b3QgeWV0IHN1cHBvcnQgYWNjZXNzaW5nCj4gYWtjaXBoZXIgQVBJIGZyb20gdXNlcnNwYWNlIChh bmQgcHJvYmFibHkgd29uJ3QgZm9yIHNvbWUgdGltZSwgc2VlCj4gaHR0cHM6Ly93d3cuc3Bpbmlj cy5uZXQvbGlzdHMvbGludXgtY3J5cHRvL21zZzM4Mzg4Lmh0bWwpLgo+Cj4gQXQgZmlyc3QgSSB0 cmllZCB0byBwdXQgdGhpcyB2aWEgc3RhbmRhcmQgc3lzZnMgQVBJLCBidXQgdGhlIHdheSBJCj4g ZGVzaWduZWQgaXQgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBzeXNmcydzIHN0YW5kYXJkICJvbmUg ZmlsZSBwZXIKPiBhdHRyaWJ1dGUiLgo+Cj4gVGhpcyBwYXRjaCB0aGVyZWZvcmUgYWRkcyBzdXBw b3J0IGZvciBhY2Nlc3NpbmcgdGhpcyBzaWduYXR1cmUKPiBnZW5lcmF0aW9uIG1lY2hhbmlzbSB2 aWEgZGVidWdmcy4gU2luY2UgQ1ouTklDJ3MgVHVycmlzIE1PWCBpcyB0aGUgb25seQo+IHVzZXIg b2YgdGhpcyBtb2R1bGUsIHRoZSBwb3RlbnRpYWwgZnV0dXJlIGNoYW5nZSB0byBha2NpcGhlciBB UEkgc2hvdWxkCj4gbm90IGNhdXNlIHByb2JsZW1zLCBzaW5jZSB3ZSBjYW4ganVzdCBjaGFuZ2Ug b3VyIHVzZXJzcGFjZSBzb2Z0d2FyZSB0aGVuLgo+Cj4gU2lnbmVkLW9mZi1ieTogTWFyZWsgQmVo w7puIDxtYXJlay5iZWh1bkBuaWMuY3o+CgpBcHBsaWVkIG9uIG12ZWJ1L2RyaXZlcnMKClRoYW5r cywKCkdyZWdvcnkKPiAtLS0KPiAgZHJpdmVycy9maXJtd2FyZS90dXJyaXMtbW94LXJ3dG0uYyB8 IDE2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAxIGZpbGUgY2hhbmdlZCwgMTY2 IGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL3R1cnJpcy1t b3gtcnd0bS5jIGIvZHJpdmVycy9maXJtd2FyZS90dXJyaXMtbW94LXJ3dG0uYwo+IGluZGV4IGUy N2Y2ODQzN2I1Ni4uNTBiYjJhNmQ2Y2NmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZmlybXdhcmUv dHVycmlzLW1veC1yd3RtLmMKPiArKysgYi9kcml2ZXJzL2Zpcm13YXJlL3R1cnJpcy1tb3gtcnd0 bS5jCj4gQEAgLTcsNiArNyw3IEBACj4gIAo+ICAjaW5jbHVkZSA8bGludXgvYXJtYWRhLTM3eHgt cnd0bS1tYWlsYm94Lmg+Cj4gICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+Cj4gKyNpbmNs dWRlIDxsaW51eC9kZWJ1Z2ZzLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgo+ ICAjaW5jbHVkZSA8bGludXgvaHdfcmFuZG9tLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9tYWlsYm94 X2NsaWVudC5oPgo+IEBAIC02OSw2ICs3MCwxOCBAQCBzdHJ1Y3QgbW94X3J3dG0gewo+ICAJLyog cHVibGljIGtleSBidXJuZWQgaW4gZUZ1c2UgKi8KPiAgCWludCBoYXNfcHVia2V5Owo+ICAJdTgg cHVia2V5WzEzNV07Cj4gKwo+ICsjaWZkZWYgQ09ORklHX0RFQlVHX0ZTCj4gKwkvKgo+ICsJICog U2lnbmF0dXJlIHByb2Nlc3MuIFRoaXMgaXMgY3VycmVudGx5IGRvbmUgdmlhIGRlYnVnZnMsIGJl Y2F1c2UgaXQKPiArCSAqIGRvZXMgbm90IGNvbmZvcm0gdG8gdGhlIHN5c2ZzIHN0YW5kYXJkICJv bmUgZmlsZSBwZXIgYXR0cmlidXRlIi4KPiArCSAqIEl0IHNob3VsZCBiZSByZXdyaXR0ZW4gdmlh IGNyeXB0byBBUEkgb25jZSBha2NpcGhlciBBUEkgaXMgYXZhaWxhYmxlCj4gKwkgKiBmcm9tIHVz ZXJzcGFjZS4KPiArCSAqLwo+ICsJc3RydWN0IGRlbnRyeSAqZGVidWdmc19yb290Owo+ICsJdTMy IGxhc3Rfc2lnWzM0XTsKPiArCWludCBsYXN0X3NpZ19kb25lOwo+ICsjZW5kaWYKPiAgfTsKPiAg Cj4gIHN0cnVjdCBtb3hfa29iamVjdCB7Cj4gQEAgLTI3OSw2ICsyOTIsMTUyIEBAIHN0YXRpYyBp bnQgbW94X2h3cm5nX3JlYWQoc3RydWN0IGh3cm5nICpybmcsIHZvaWQgKmRhdGEsIHNpemVfdCBt YXgsIGJvb2wgd2FpdCkKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gKyNpZmRlZiBDT05GSUdf REVCVUdfRlMKPiArc3RhdGljIGludCByd3RtX2RlYnVnX29wZW4oc3RydWN0IGlub2RlICppbm9k ZSwgc3RydWN0IGZpbGUgKmZpbGUpCj4gK3sKPiArCWZpbGUtPnByaXZhdGVfZGF0YSA9IGlub2Rl LT5pX3ByaXZhdGU7Cj4gKwo+ICsJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUp Owo+ICt9Cj4gKwo+ICtzdGF0aWMgc3NpemVfdCBkb19zaWduX3JlYWQoc3RydWN0IGZpbGUgKmZp bGUsIGNoYXIgX191c2VyICpidWYsIHNpemVfdCBsZW4sCj4gKwkJCSAgICBsb2ZmX3QgKnBwb3Mp Cj4gK3sKPiArCXN0cnVjdCBtb3hfcnd0bSAqcnd0bSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKPiAr CXNzaXplX3QgcmV0Owo+ICsKPiArCS8qIG9ubHkgYWxsb3cgb25lIHJlYWQsIG9mIDEzNiBieXRl cywgZnJvbSBwb3NpdGlvbiAwICovCj4gKwlpZiAoKnBwb3MgIT0gMCkKPiArCQlyZXR1cm4gMDsK PiArCj4gKwlpZiAobGVuIDwgMTM2KQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCWlmICgh cnd0bS0+bGFzdF9zaWdfZG9uZSkKPiArCQlyZXR1cm4gLUVOT0RBVEE7Cj4gKwo+ICsJLyogMiBh cnJheXMgb2YgMTcgMzItYml0IHdvcmRzIGFyZSAxMzYgYnl0ZXMgKi8KPiArCXJldCA9IHNpbXBs ZV9yZWFkX2Zyb21fYnVmZmVyKGJ1ZiwgbGVuLCBwcG9zLCByd3RtLT5sYXN0X3NpZywgMTM2KTsK PiArCXJ3dG0tPmxhc3Rfc2lnX2RvbmUgPSAwOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gK30KPiAr Cj4gK3N0YXRpYyBzc2l6ZV90IGRvX3NpZ25fd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0 IGNoYXIgX191c2VyICpidWYsCj4gKwkJCSAgICAgc2l6ZV90IGxlbiwgbG9mZl90ICpwcG9zKQo+ ICt7Cj4gKwlzdHJ1Y3QgbW94X3J3dG0gKnJ3dG0gPSBmaWxlLT5wcml2YXRlX2RhdGE7Cj4gKwlz dHJ1Y3QgYXJtYWRhXzM3eHhfcnd0bV9yeF9tc2cgKnJlcGx5ID0gJnJ3dG0tPnJlcGx5Owo+ICsJ c3RydWN0IGFybWFkYV8zN3h4X3J3dG1fdHhfbXNnIG1zZzsKPiArCWxvZmZfdCBkdW1teSA9IDA7 Cj4gKwlzc2l6ZV90IHJldDsKPiArCj4gKwkvKiB0aGUgaW5wdXQgaXMgYSBTSEEtNTEyIGhhc2gs IHNvIGV4YWN0bHkgNjQgYnl0ZXMgaGF2ZSB0byBiZSByZWFkICovCj4gKwlpZiAobGVuICE9IDY0 KQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCS8qIGlmIGxhc3QgcmVzdWx0IGlzIG5vdCB6 ZXJvIHVzZXIgaGFzIG5vdCByZWFkIHRoYXQgaW5mb3JtYXRpb24geWV0ICovCj4gKwlpZiAocnd0 bS0+bGFzdF9zaWdfZG9uZSkKPiArCQlyZXR1cm4gLUVCVVNZOwo+ICsKPiArCWlmICghbXV0ZXhf dHJ5bG9jaygmcnd0bS0+YnVzeSkpCj4gKwkJcmV0dXJuIC1FQlVTWTsKPiArCj4gKwkvKgo+ICsJ ICogSGVyZSB3ZSBoYXZlIHRvIHNlbmQ6Cj4gKwkgKiAgIDEuIEFkZHJlc3Mgb2YgdGhlIGlucHV0 IHRvIHNpZ24uCj4gKwkgKiAgICAgIFRoZSBpbnB1dCBpcyBhbiBhcnJheSBvZiAxNyAzMi1iaXQg d29yZHMsIHRoZSBmaXJzdCAobW9zdAo+ICsJICogICAgICBzaWduaWZpY2F0KSBpcyAwLCB0aGUg cmVzdCAxNiB3b3JkcyBhcmUgY29waWVkIGZyb20gdGhlIFNIQS01MTIKPiArCSAqICAgICAgaGFz aCBnaXZlbiBieSB0aGUgdXNlciBhbmQgY29udmVydGVkIGZyb20gQkUgdG8gTEUuCj4gKwkgKiAg IDIuIEFkZHJlc3Mgb2YgdGhlIGJ1ZmZlciB3aGVyZSBFQ0RTQSBzaWduYXR1cmUgdmFsdWUgUiBz aGFsbCBiZQo+ICsJICogICAgICBzdG9yZWQgYnkgdGhlIHJXVE0gZmlybXdhcmUuCj4gKwkgKiAg IDMuIEFkZHJlc3Mgb2YgdGhlIGJ1ZmZlciB3aGVyZSBFQ0RTQSBzaWduYXR1cmUgdmFsdWUgUyBz aGFsbCBiZQo+ICsJICogICAgICBzdG9yZWQgYnkgdGhlIHJXVE0gZmlybXdhcmUuCj4gKwkgKi8K PiArCW1lbXNldChyd3RtLT5idWYsIDAsIDQpOwo+ICsJcmV0ID0gc2ltcGxlX3dyaXRlX3RvX2J1 ZmZlcihyd3RtLT5idWYgKyA0LCA2NCwgJmR1bW15LCBidWYsIGxlbik7Cj4gKwlpZiAocmV0IDwg MCkKPiArCQlnb3RvIHVubG9ja19tdXRleDsKPiArCWJlMzJfdG9fY3B1X2FycmF5KHJ3dG0tPmJ1 Ziwgcnd0bS0+YnVmLCAxNyk7Cj4gKwo+ICsJbXNnLmNvbW1hbmQgPSBNQk9YX0NNRF9TSUdOOwo+ ICsJbXNnLmFyZ3NbMF0gPSAxOwo+ICsJbXNnLmFyZ3NbMV0gPSByd3RtLT5idWZfcGh5czsKPiAr CW1zZy5hcmdzWzJdID0gcnd0bS0+YnVmX3BoeXMgKyA2ODsKPiArCW1zZy5hcmdzWzNdID0gcnd0 bS0+YnVmX3BoeXMgKyAyICogNjg7Cj4gKwlyZXQgPSBtYm94X3NlbmRfbWVzc2FnZShyd3RtLT5t Ym94LCAmbXNnKTsKPiArCWlmIChyZXQgPCAwKQo+ICsJCWdvdG8gdW5sb2NrX211dGV4Owo+ICsK PiArCXJldCA9IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSgmcnd0bS0+Y21kX2Rv bmUpOwo+ICsJaWYgKHJldCA8IDApCj4gKwkJZ290byB1bmxvY2tfbXV0ZXg7Cj4gKwo+ICsJcmV0 ID0gTUJPWF9TVFNfVkFMVUUocmVwbHktPnJldHZhbCk7Cj4gKwlpZiAoTUJPWF9TVFNfRVJST1Io cmVwbHktPnJldHZhbCkgIT0gTUJPWF9TVFNfU1VDQ0VTUykKPiArCQlnb3RvIHVubG9ja19tdXRl eDsKPiArCj4gKwkvKgo+ICsJICogSGVyZSB3ZSByZWFkIHRoZSBSIGFuZCBTIHZhbHVlcyBvZiB0 aGUgRUNEU0Egc2lnbmF0dXJlCj4gKwkgKiBjb21wdXRlZCBieSB0aGUgcldUTSBmaXJtd2FyZSBh bmQgY29udmVydCB0aGVpciB3b3JkcyBmcm9tCj4gKwkgKiBMRSB0byBCRS4KPiArCSAqLwo+ICsJ bWVtY3B5KHJ3dG0tPmxhc3Rfc2lnLCByd3RtLT5idWYgKyA2OCwgMTM2KTsKPiArCWNwdV90b19i ZTMyX2FycmF5KHJ3dG0tPmxhc3Rfc2lnLCByd3RtLT5sYXN0X3NpZywgMzQpOwo+ICsJcnd0bS0+ bGFzdF9zaWdfZG9uZSA9IDE7Cj4gKwo+ICsJbXV0ZXhfdW5sb2NrKCZyd3RtLT5idXN5KTsKPiAr CXJldHVybiBsZW47Cj4gK3VubG9ja19tdXRleDoKPiArCW11dGV4X3VubG9jaygmcnd0bS0+YnVz eSk7Cj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVf b3BlcmF0aW9ucyBkb19zaWduX2ZvcHMgPSB7Cj4gKwkub3duZXIJPSBUSElTX01PRFVMRSwKPiAr CS5vcGVuCT0gcnd0bV9kZWJ1Z19vcGVuLAo+ICsJLnJlYWQJPSBkb19zaWduX3JlYWQsCj4gKwku d3JpdGUJPSBkb19zaWduX3dyaXRlLAo+ICsJLmxsc2Vlawk9IG5vX2xsc2VlaywKPiArfTsKPiAr Cj4gK3N0YXRpYyBpbnQgcnd0bV9yZWdpc3Rlcl9kZWJ1Z2ZzKHN0cnVjdCBtb3hfcnd0bSAqcnd0 bSkKPiArewo+ICsJc3RydWN0IGRlbnRyeSAqcm9vdCwgKmVudHJ5Owo+ICsKPiArCXJvb3QgPSBk ZWJ1Z2ZzX2NyZWF0ZV9kaXIoInR1cnJpcy1tb3gtcnd0bSIsIE5VTEwpOwo+ICsKPiArCWlmIChJ U19FUlIocm9vdCkpCj4gKwkJcmV0dXJuIFBUUl9FUlIocm9vdCk7Cj4gKwo+ICsJZW50cnkgPSBk ZWJ1Z2ZzX2NyZWF0ZV9maWxlX3Vuc2FmZSgiZG9fc2lnbiIsIDA2MDAsIHJvb3QsIHJ3dG0sCj4g KwkJCQkJICAgJmRvX3NpZ25fZm9wcyk7Cj4gKwlpZiAoSVNfRVJSKGVudHJ5KSkKPiArCQlnb3Rv IGVycl9yZW1vdmU7Cj4gKwo+ICsJcnd0bS0+ZGVidWdmc19yb290ID0gcm9vdDsKPiArCj4gKwly ZXR1cm4gMDsKPiArZXJyX3JlbW92ZToKPiArCWRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZShyb290 KTsKPiArCXJldHVybiBQVFJfRVJSKGVudHJ5KTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgcnd0 bV91bnJlZ2lzdGVyX2RlYnVnZnMoc3RydWN0IG1veF9yd3RtICpyd3RtKQo+ICt7Cj4gKwlkZWJ1 Z2ZzX3JlbW92ZV9yZWN1cnNpdmUocnd0bS0+ZGVidWdmc19yb290KTsKPiArfQo+ICsjZWxzZQo+ ICtzdGF0aWMgaW5saW5lIGludCByd3RtX3JlZ2lzdGVyX2RlYnVnZnMoc3RydWN0IG1veF9yd3Rt ICpyd3RtKQo+ICt7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSB2b2lk IHJ3dG1fdW5yZWdpc3Rlcl9kZWJ1Z2ZzKHN0cnVjdCBtb3hfcnd0bSAqcnd0bSkKPiArewo+ICt9 Cj4gKyNlbmRpZgo+ICsKPiAgc3RhdGljIGludCB0dXJyaXNfbW94X3J3dG1fcHJvYmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgewo+ICAJc3RydWN0IG1veF9yd3RtICpyd3RtOwo+ IEBAIC0zNDAsNiArNDk5LDEyIEBAIHN0YXRpYyBpbnQgdHVycmlzX21veF9yd3RtX3Byb2JlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAkJZ290byBmcmVlX2NoYW5uZWw7Cj4gIAl9 Cj4gIAo+ICsJcmV0ID0gcnd0bV9yZWdpc3Rlcl9kZWJ1Z2ZzKHJ3dG0pOwo+ICsJaWYgKHJldCA8 IDApIHsKPiArCQlkZXZfZXJyKGRldiwgIkZhaWxlZCBjcmVhdGluZyBkZWJ1Z2ZzIGVudHJpZXM6 ICVpXG4iLCByZXQpOwo+ICsJCWdvdG8gZnJlZV9jaGFubmVsOwo+ICsJfQo+ICsKPiAgCXJldHVy biAwOwo+ICAKPiAgZnJlZV9jaGFubmVsOgo+IEBAIC0zNTUsNiArNTIwLDcgQEAgc3RhdGljIGlu dCB0dXJyaXNfbW94X3J3dG1fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g IHsKPiAgCXN0cnVjdCBtb3hfcnd0bSAqcnd0bSA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYp Owo+ICAKPiArCXJ3dG1fdW5yZWdpc3Rlcl9kZWJ1Z2ZzKHJ3dG0pOwo+ICAJc3lzZnNfcmVtb3Zl X2ZpbGVzKHJ3dG1fdG9fa29iaihyd3RtKSwgbW94X3J3dG1fYXR0cnMpOwo+ICAJa29iamVjdF9w dXQocnd0bV90b19rb2JqKHJ3dG0pKTsKPiAgCW1ib3hfZnJlZV9jaGFubmVsKHJ3dG0tPm1ib3gp Owo+IC0tIAo+IDIuMjYuMgo+CgotLSAKR3JlZ29yeSBDbGVtZW50LCBCb290bGluCkVtYmVkZGVk IExpbnV4IGFuZCBLZXJuZWwgZW5naW5lZXJpbmcKaHR0cDovL2Jvb3RsaW4uY29tCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVs IG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==