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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4F2DDC7EE24 for ; Fri, 2 Jun 2023 08:59:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:CC:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=j91ieqtqwN08Uqe0CkuGNV8lGjY/rlzWXq+LtdQcN4s=; b=YlIOHfmeO/6gyG QqOJJpD0BinbGP4Qtn5UFQwJD8BDBz+8kSzB4HigshQHPMrkLi5/Je/o6sMBVjo+SWMpwbLs0dgTt 2eiwsM6eie3jxK6E3lqjajA1R6csi8bG1lWkWwI4cZBE81LaikO9oHKwGW5cui/LAn7qCUPj68rU2 xd8aSx340SCcqBGoJoNHBEXL0yVbrHBWkcMxR55vmyddqOGLUtF08wUlPPPvuX9v/bnR8cerXFgQV ZGBUn8PazUTyuyKhRPfJyfB0JKLDnNCb1TGas0botO0oDjAegsX5ReW9UIe3bbjjoJrXedeehchZP 31CvMnc6rXn6KuK7H41g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q50cP-006GOQ-12; Fri, 02 Jun 2023 08:58:45 +0000 Received: from mx.sberdevices.ru ([45.89.227.171]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q50cL-006GKm-07; Fri, 02 Jun 2023 08:58:44 +0000 Received: from s-lin-edge02.sberdevices.ru (localhost [127.0.0.1]) by mx.sberdevices.ru (Postfix) with ESMTP id 5221A5FD1C; Fri, 2 Jun 2023 11:58:33 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1685696313; bh=abiYipTV/jxNc17GoV9ECjJl5Hlx1HubTOYRAwX0rvo=; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; b=nQx/ELG7ta2SBY+irKdO2u0rW2+Yh+ZBcYpzWWjhnmHXn6vEewxEhyeLDRQFgv/O3 4KjSpRv2zu4XqR74QqpRwOeUO/5KryT8dfFsVJX2kzDFHvn5ezk7HF0WWSkZbWaNCz +7TYO8hpgaaRKZu4M/J/gFpwNbO/aOZBhDRxVnU0Fmu3e9HBIy/lCE9RCJyMtG3ZvK sTfJlFvdLkCN1LhFh0X44FlDqrNOAdl1/NMG4ymbSmhP8RWrnRmiEknTuofY3oVlRF zbLoWIX0Z/op3Sgpl5wM5FqvY5GOudQAAJdv8XYI6h7HbvjThheLyI8j1QGSOHsClA 6U0YhbRMSBRtg== Received: from S-MS-EXCH01.sberdevices.ru (S-MS-EXCH01.sberdevices.ru [172.16.1.4]) by mx.sberdevices.ru (Postfix) with ESMTP; Fri, 2 Jun 2023 11:58:31 +0300 (MSK) Message-ID: <8242530c-7b6b-29ce-581b-c5644a965b60@sberdevices.ru> Date: Fri, 2 Jun 2023 11:53:47 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: [RFC PATCH v5 3/6] mtd: rawnand: meson: only expose unprotected user OOB bytes Content-Language: en-US To: Miquel Raynal CC: Liang Yang , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , , , , , , References: <20230601061850.3907800-1-AVKrasnov@sberdevices.ru> <20230601061850.3907800-4-AVKrasnov@sberdevices.ru> <20230601103111.6840acc0@xps-13> From: Arseniy Krasnov In-Reply-To: <20230601103111.6840acc0@xps-13> X-Originating-IP: [172.16.1.6] X-ClientProxiedBy: S-MS-EXCH01.sberdevices.ru (172.16.1.4) To S-MS-EXCH01.sberdevices.ru (172.16.1.4) X-KSMG-Rule-ID: 4 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiPhishing: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 1.1.2.30, bases: 2023/06/02 03:06:00 #21401484 X-KSMG-AntiVirus-Status: Clean, skipped X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230602_015841_773766_C2D71566 X-CRM114-Status: GOOD ( 50.12 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org SGVsbG8gTWlxdWVsLCB0aGFua3MgZm9yIHJldmlldyEKCk9uIDAxLjA2LjIwMjMgMTE6MzEsIE1p cXVlbCBSYXluYWwgd3JvdGU6Cj4gSGkgQXJzZW5peSwKPiAKPiBBVktyYXNub3ZAc2JlcmRldmlj ZXMucnUgd3JvdGUgb24gVGh1LCAxIEp1biAyMDIzIDA5OjE4OjQ2ICswMzAwOgo+IAo+PiBUaGlz IG1vdmVzIGZyZWUgYnl0ZXMgb2YgT09CIHRvIG5vbi1wcm90ZWN0ZWQgRUNDIGFyZWEuIEl0IGlz IG5lZWRlZCB0bwo+IAo+IEFzIHdlIGRpc2N1c3NlZCwgSSBleHBlY3QgdGhpcyBjb21taXQgdG8g anVzdCBjaGFuZ2UgdGhlIE9PQiBsYXlvdXQgdG8KPiBleHBvc2UgdW5wcm90ZWN0ZWQgT09CIGJ5 dGVzIHRvIHRoZSB1c2VyLCB0aGF0IGlzIHRoZSBvbmx5IGNoYW5nZSB0aGlzCj4gY29tbWl0IHNo b3VsZCBjYXJyeS4gSWYgdGhhdCBkb2VzIG5vdCB3b3JrLCB5b3Ugc2hvdWxkIGFkZCBhCj4gcHJl cGFyYXRpb24gcGF0Y2guCgpPaywgYnV0IEkgdGhvdWdodCwgaWYgaSBjaGFuZ2Ugb25seSBPT0Ig bGF5b3V0LCBlLmcuIHVwZGF0ZSAnZnJlZScgY2FsbGJhY2sgb2YKbXRkX29vYmxheW91dF9vcHMs IEkgYWxzbyBuZWVkIHRvIGltcGxlbWVudCBjb2RlIHdoaWNoIHBlcmZvcm1zIHJlYWQvd3JpdGUK YWNjb3JkaW5nIG5ldyBsYXlvdXQgKGl0IG11c3QgYmUgZG9uZSBpbiBhIHNpbmdsZSBwYXRjaCk/ CgpNYWluIHRoaW5nIGlzOgoKSSBndWVzcyB0aGF0IGdlbmVyYWwgY29uZnVzZSB3aXRoIHRoaXMg cGF0Y2ggaXMgdGhhdCBZb3UgY29uc2lkZXIKdGhhdCB3ZSBjaGFuZ2Ugb25seSBPT0IgbGF5b3V0 IGJ5IG1vdmluZyB1c2VyIGJ5dGVzIG91dCBvZiBFQ0MgYXJlYSwgYnV0IGF0IHRoZSBzYW1lCnRp bWUgSSBhbHNvIGluY3JlYXNlZCBzaXplIG9mIE9PQiBmcm9tIDQgYnl0ZXMgKGUuZy4gMiB4IDIg Ynl0ZXMgY2xlYW4gbWFya2VycykKdG8gMzIgYnl0ZXMgKGUuZy4gdGFpbCBvZiBwYWdlIGFmdGVy IGRhdGEgYW5kIEVDQyBjb2RlcyksIHNvIGlmIHRoaXMKYXNzdW1wdGlvbiBpcyBjb3JyZWN0LCBp biB0aGUgbmV4dCB2ZXJzaW9uIEkgd29uJ3QgY2hhbmdlIHNpemUgb2YgdXNlciBhcmVhIGluCk9P QiwgdGh1cyB0aGlzIHBhdGNoIHdpbGwgYmUgcmVkdWNlZCBhcyBzb21lIGNvbW1lbnRzIGZyb20g dGhpcyByZXZpZXcuCgo+IAo+PiBtYWtlIEpGRlMyIHdvcmtzIGNvcnJlY3RseSB3aXRoIHRoaXMg TkFORCBjb250cm9sbGVyLiBQcm9ibGVtIGZpcmVzIHdoZW4KPj4gSkZGUzIgZHJpdmVyIHdyaXRl cyBjbGVhbm1hcmtlciB0byBzb21lIHBhZ2UgYW5kIGxhdGVyIGl0IHRyaWVzIHRvIHdyaXRlCj4+ IHRvIHRoaXMgcGFnZSAtIHdyaXRlIHdpbGwgYmUgZG9uZSBzdWNjZXNzZnVsbHksIGJ1dCBhZnRl ciB0aGF0IHN1Y2ggcGFnZQo+PiBiZWNvbWVzIHVucmVhZGFibGUgZHVlIHRvIGludmFsaWQgRUND IGNvZGVzLiBUaGlzIGhhcHBlbnMgYmVjYXVzZSBzZWNvbmQKPj4gd3JpdGUgbmVlZHMgdG8gdXBk YXRlIEVDQyBjb2RlcywgYnV0IGl0IGlzIGltcG9zc2libGUgdG8gZG8gaXQgY29ycmVjdGx5Cj4+ IHdpdGhvdXQgYmxvY2sgZXJhc2UuIFNvIGlkZWEgb2YgdGhpcyBwYXRjaCBpcyB0byB1c2UgdGhl IHVucHJvdGVjdGVkIE9PQgo+PiBhcmVhIHRvIHN0b3JlIHRoZSBjbGVhbm1hcmtlcnMsIHNvIHRo YXQgdGhleSBjYW4gYmUgd3JpdHRlbiBieSB0aGUKPj4gZmlsZXN5c3RlbSB3aXRob3V0IGNhcmlu ZyBtdWNoIGFib3V0IHRoZSBwYWdlIGJlaW5nIGVtcHR5IG9yIG5vdDogdGhlCj4+IEVDQyBjb2Rl cyB3aWxsIG5vdCBiZSB3cml0dGVuIGFueXdheS4KPj4KPj4gSkZGUzIgaXMgb25seSB1c2VmdWwg b24gdGlueSBOQU5EIGRldmljZXMsIHdoZXJlIFVCSSBkb2VzIG5vdCBmaXQsIHdoaWNoCj4+IGFy ZSB1c3VhbGx5IHRydWUgU0xDIGZsYXNoZXMsIHdpdGggdGhlIGNhcGFiaWxpdHkgb2Ygd3JpdGlu ZyBhIHBhZ2Ugd2l0aAo+PiBlbXB0eSAoMHhGRikgZGF0YSwgYW5kIHN0aWxsIGJlIGFibGUgdG8g d3JpdGUgYWN0dWFsIGRhdGEgdG8gaXQgbGF0ZXIgaW4KPj4gYSBzZWNvbmQgd3JpdGUuCj4+Cj4+ IFNpZ25lZC1vZmYtYnk6IEFyc2VuaXkgS3Jhc25vdiA8QVZLcmFzbm92QHNiZXJkZXZpY2VzLnJ1 Pgo+PiAtLS0KPj4gIENoYW5nZWxvZyB2NC0+djU6Cj4+ICAqIERyb3AgY29zbWV0aWMgY2hhbmdl cyBmcm9tIHRoaXMgcGF0Y2guCj4+ICAqIERvIG5vdCBpZ25vcmUgRUNDIHByb3RlY3RlZCB1c2Vy IGJ5dGVzIHByb3ZpZGVkIGJ5IGh3LiBFdmVuIHRoZXNlCj4+ICAgIGJ5dGVzIGFyZSBvdXQgb2Yg dXNlciBhcmVhIG9mIE9PQiwgaXRzIHZhbHVlcyBhcmUgc3RpbGwgcmVhZCBmcm9tCj4+ICAgIHRo ZSBwcm92aWRlZCBPT0IgYnVmZmVyIGFuZCB3cml0dGVuIGJ5IGhhcmR3YXJlLiBTYW1lIGJlaGF2 aW91ciBpcwo+PiAgICBwcmVzZXJ2ZWQgZm9yIHJlYWQgYWNjZXNzIC0gc3VjaCBieXRlcyBhcmUg cmVhZCBmcm9tIERNQSBidWZmZXIgYW5kCj4+ICAgIHBsYWNlZCB0byBPT0IgYnVmZmVyLgo+PiAg KiBPT0IgcmVhZCBhbmQgd3JpdGUgYmVjb21lIG1vcmUgbGlnaHR3ZWlnaHQgYmVjYXVzZSBJIHJl bW92ZWQgaGVhdnkKPj4gICAgUkVBRDAgYW5kIFBBR0VQUk9HIGNvbW1hbmQgZnJvbSBpdCAoYm90 aCBjb21tYW5kcyBhcmUgc3RpbGwgc2VudAo+PiAgICB3aGVuIE9PQiBhY2Nlc3MgaXMgcGVyZm9y bWVkIHVzaW5nIE9PQiBjYWxsYmFja3MpLiBJbiBjYXNlIG9mIHBhZ2UKPj4gICAgcmVhZC93cml0 ZSBPT0IgZGF0YSBpcyBoYW5kbGVkIGluIHRoZSBpbnRlcm5hbCBTUkFNIG9mIHRoZSBjb250cm9s bGVyLgo+PiAgKiBDb21taXQgbWVzc2FnZSB1cGRhdGVkLgo+PiAgKiBUZW1wb3JhcnkgYnVmZmVy IGZvciBPT0IgcmVhZC93cml0ZSBpcyByZW1vdmVkLiBTZWVtcyBldmVyeXRoaW5nCj4+ICAgIHdv cmtzIGNvcnJlY3RseSB3aXRob3V0IGl0Lgo+Pgo+PiAgZHJpdmVycy9tdGQvbmFuZC9yYXcvbWVz b25fbmFuZC5jIHwgMTM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+PiAgMSBmaWxl IGNoYW5nZWQsIDExNyBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQuYyBiL2RyaXZlcnMvbXRkL25h bmQvcmF3L21lc29uX25hbmQuYwo+PiBpbmRleCA4MmE2MjkwMjVhZGMuLmU0MmMyOGJlMDJmMyAx MDA2NDQKPj4gLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvbWVzb25fbmFuZC5jCj4+ICsrKyBi L2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQuYwo+PiBAQCAtMzU4LDggKzM1OCwxMSBA QCBzdGF0aWMgdTggKm1lc29uX25mY19kYXRhX3B0cihzdHJ1Y3QgbmFuZF9jaGlwICpuYW5kLCBp bnQgaSkKPj4gIHN0YXRpYyB2b2lkIG1lc29uX25mY19nZXRfZGF0YV9vb2Ioc3RydWN0IG5hbmRf Y2hpcCAqbmFuZCwKPj4gIAkJCQkgICB1OCAqYnVmLCB1OCAqb29iYnVmKQo+PiAgewo+PiArCXN0 cnVjdCBtZXNvbl9uZmNfbmFuZF9jaGlwICptZXNvbl9jaGlwID0gdG9fbWVzb25fbmFuZChuYW5k KTsKPj4gKwlzdHJ1Y3QgbXRkX2luZm8gKm10ZCA9IG5hbmRfdG9fbXRkKG5hbmQpOwo+PiAgCWlu dCBpLCBvb2JfbGVuID0gMDsKPj4gIAl1OCAqZHNyYywgKm9zcmM7Cj4+ICsJdTggKm9vYnRhaWw7 Cj4+ICAKPj4gIAlvb2JfbGVuID0gbmFuZC0+ZWNjLmJ5dGVzICsgMjsKPj4gIAlmb3IgKGkgPSAw OyBpIDwgbmFuZC0+ZWNjLnN0ZXBzOyBpKyspIHsKPj4gQEAgLTM2OCwxNyArMzcxLDI3IEBAIHN0 YXRpYyB2b2lkIG1lc29uX25mY19nZXRfZGF0YV9vb2Ioc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwK Pj4gIAkJCW1lbWNweShidWYsIGRzcmMsIG5hbmQtPmVjYy5zaXplKTsKPj4gIAkJCWJ1ZiArPSBu YW5kLT5lY2Muc2l6ZTsKPj4gIAkJfQo+PiArCj4+ICAJCW9zcmMgPSBtZXNvbl9uZmNfb29iX3B0 cihuYW5kLCBpKTsKPj4gIAkJbWVtY3B5KG9vYmJ1Ziwgb3NyYywgb29iX2xlbik7Cj4+ICAJCW9v YmJ1ZiArPSBvb2JfbGVuOwo+PiAgCX0KPj4gKwo+PiArCW9vYnRhaWwgPSBtZXNvbl9jaGlwLT5k YXRhX2J1ZiArIG5hbmQtPmVjYy5zdGVwcyAqCj4+ICsJCSAgKG5hbmQtPmVjYy5zaXplICsgb29i X2xlbik7Cj4+ICsKPj4gKwkvKiAnb29iYnVmJyBwb2ludHMgdG8gdGhlIHN0YXJ0IG9mIHVzZXIg YXJlYS4gKi8KPj4gKwltZW1jcHkob29iYnVmLCBvb2J0YWlsLCBtdGQtPm9vYnNpemUgLSBuYW5k LT5lY2Muc3RlcHMgKiBvb2JfbGVuKTsKPj4gIH0KPj4gIAo+PiAgc3RhdGljIHZvaWQgbWVzb25f bmZjX3NldF9kYXRhX29vYihzdHJ1Y3QgbmFuZF9jaGlwICpuYW5kLAo+PiAgCQkJCSAgIGNvbnN0 IHU4ICpidWYsIHU4ICpvb2JidWYpCj4+ICB7Cj4+ICsJc3RydWN0IG1lc29uX25mY19uYW5kX2No aXAgKm1lc29uX2NoaXAgPSB0b19tZXNvbl9uYW5kKG5hbmQpOwo+PiArCXN0cnVjdCBtdGRfaW5m byAqbXRkID0gbmFuZF90b19tdGQobmFuZCk7Cj4+ICAJaW50IGksIG9vYl9sZW4gPSAwOwo+PiAg CXU4ICpkc3JjLCAqb3NyYzsKPj4gKwl1OCAqb29idGFpbDsKPj4gIAo+PiAgCW9vYl9sZW4gPSBu YW5kLT5lY2MuYnl0ZXMgKyAyOwo+PiAgCWZvciAoaSA9IDA7IGkgPCBuYW5kLT5lY2Muc3RlcHM7 IGkrKykgewo+PiBAQCAtMzkxLDYgKzQwNCwxMiBAQCBzdGF0aWMgdm9pZCBtZXNvbl9uZmNfc2V0 X2RhdGFfb29iKHN0cnVjdCBuYW5kX2NoaXAgKm5hbmQsCj4+ICAJCW1lbWNweShvc3JjLCBvb2Ji dWYsIG9vYl9sZW4pOwo+PiAgCQlvb2JidWYgKz0gb29iX2xlbjsKPj4gIAl9Cj4+ICsKPj4gKwlv b2J0YWlsID0gbWVzb25fY2hpcC0+ZGF0YV9idWYgKyBuYW5kLT5lY2Muc3RlcHMgKgo+PiArCQkg IChuYW5kLT5lY2Muc2l6ZSArIG9vYl9sZW4pOwo+IAo+IFRoaXMgaXMgYWx3YXlzIHRhcmdldGlu ZyB0aGUgc2FtZSBhcmVhLCBzbyBpdCBsb29rcyBzdHJhbmdlIHRvIG1lLgo+IAo+PiArCj4+ICsJ LyogJ29vYmJ1ZicgcG9pbnRzIHRvIHRoZSBzdGFydCBvZiB1c2VyIGFyZWEuICovCj4+ICsJbWVt Y3B5KG9vYnRhaWwsIG9vYmJ1ZiwgbXRkLT5vb2JzaXplIC0gbmFuZC0+ZWNjLnN0ZXBzICogb29i X2xlbik7Cj4gCj4gVEJIIEkgZG9uJ3QgZ2V0IHdoYXQgeW91IGRvIGhlcmUuCgpUaGlzIGNvZGUg d29ya3MgaW4gcmF3IG1vZGUgYW5kIHBsYWNlcyBPT0IgZGF0YSBmcm9tIHByb3ZpZGVkIE9PQiBi dWZmZXIgdG8gRE1BIGJ1ZmZlci4KVGhpcyBpcyBiZWNhdXNlIG51bWJlciBvZiB1c2VyIGJ5dGVz IGlzIGluY3JlYXNlZCBpbiB0aGlzIHBhdGNoLgoKPiAKPj4gIH0KPj4gIAo+PiAgc3RhdGljIGlu dCBtZXNvbl9uZmNfcXVldWVfcmIoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwgaW50IHRpbWVvdXRf bXMpCj4+IEBAIC00MzMsNyArNDUyLDcgQEAgc3RhdGljIHZvaWQgbWVzb25fbmZjX3NldF91c2Vy X2J5dGUoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwgdTggKm9vYl9idWYpCj4+ICAJX19sZTY0ICpp bmZvOwo+PiAgCWludCBpLCBjb3VudDsKPj4gIAo+PiAtCWZvciAoaSA9IDAsIGNvdW50ID0gMDsg aSA8IG5hbmQtPmVjYy5zdGVwczsgaSsrLCBjb3VudCArPSAyKSB7Cj4+ICsJZm9yIChpID0gMCwg Y291bnQgPSAwOyBpIDwgbmFuZC0+ZWNjLnN0ZXBzOyBpKyssIGNvdW50ICs9IChuYW5kLT5lY2Mu Ynl0ZXMgKyAyKSkgewo+PiAgCQlpbmZvID0gJm1lc29uX2NoaXAtPmluZm9fYnVmW2ldOwo+PiAg CQkqaW5mbyB8PSBvb2JfYnVmW2NvdW50XTsKPj4gIAkJKmluZm8gfD0gb29iX2J1Zltjb3VudCAr IDFdIDw8IDg7Cj4+IEBAIC00NDYsNyArNDY1LDcgQEAgc3RhdGljIHZvaWQgbWVzb25fbmZjX2dl dF91c2VyX2J5dGUoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwgdTggKm9vYl9idWYpCj4+ICAJX19s ZTY0ICppbmZvOwo+PiAgCWludCBpLCBjb3VudDsKPj4gIAo+PiAtCWZvciAoaSA9IDAsIGNvdW50 ID0gMDsgaSA8IG5hbmQtPmVjYy5zdGVwczsgaSsrLCBjb3VudCArPSAyKSB7Cj4+ICsJZm9yIChp ID0gMCwgY291bnQgPSAwOyBpIDwgbmFuZC0+ZWNjLnN0ZXBzOyBpKyssIGNvdW50ICs9IChuYW5k LT5lY2MuYnl0ZXMgKyAyKSkgewo+PiAgCQlpbmZvID0gJm1lc29uX2NoaXAtPmluZm9fYnVmW2ld Owo+PiAgCQlvb2JfYnVmW2NvdW50XSA9ICppbmZvOwo+PiAgCQlvb2JfYnVmW2NvdW50ICsgMV0g PSAqaW5mbyA+PiA4Owo+PiBAQCAtNjM4LDYgKzY1Nyw4NCBAQCBzdGF0aWMgaW50IG1lc29uX25m Y19yd19jbWRfcHJlcGFyZV9hbmRfZXhlY3V0ZShzdHJ1Y3QgbmFuZF9jaGlwICpuYW5kLAo+PiAg CXJldHVybiAwOwo+PiAgfQo+PiAgCj4+ICtzdGF0aWMgdTMyIG1lc29uX25mY19vb2JfZnJlZV9i eXRlcyhzdHJ1Y3QgbmFuZF9jaGlwICpuYW5kKQo+PiArewo+PiArCXN0cnVjdCBtdGRfaW5mbyAq bXRkID0gbmFuZF90b19tdGQobmFuZCk7Cj4+ICsKPj4gKwlyZXR1cm4gbXRkLT5vb2JzaXplIC0g bmFuZC0+ZWNjLnN0ZXBzICogKG5hbmQtPmVjYy5ieXRlcyArIDIpOwo+IAo+IFRoaXMgbG9va3Mg bGlrZSBhIHN0YXRpYyB2YWx1ZSwganVzdCBzYXZlIGl0IHNvbWV3aGVyZSBpbnN0ZWFkIG9mCj4g cmVjb21wdXRpbmcgaXQ/CgpBY2sKCj4gCj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbnQgbWVzb25f bmZjX3dyaXRlX29vYihzdHJ1Y3QgbmFuZF9jaGlwICpuYW5kLCBpbnQgcGFnZSkKPj4gK3sKPj4g KwlzdHJ1Y3QgbXRkX2luZm8gKm10ZCA9IG5hbmRfdG9fbXRkKG5hbmQpOwo+PiArCXUzMiBwYWdl X3NpemUgPSBtdGQtPndyaXRlc2l6ZSArIG10ZC0+b29ic2l6ZTsKPj4gKwl1MzIgb29iX2J5dGVz ID0gbWVzb25fbmZjX29vYl9mcmVlX2J5dGVzKG5hbmQpOwo+PiArCXU4ICpvb2JfYnVmOwo+PiAr CWludCByZXQ7Cj4+ICsKPj4gKwlpZiAoIW9vYl9ieXRlcykKPj4gKwkJcmV0dXJuIDA7Cj4gCj4g Q2FuIHRoaXMgaGFwcGVuPwoKQWNrLCBzZWVtcyBmb3JnZXQgdG8gcmVtb3ZlIGl0Cgo+IAo+PiAr Cj4+ICsJLyogQ2FsbGVkIGFzIE9PQiB3cml0ZSBoZWxwZXIsIHdpbGwgc2VuZCBOQU5EX0NNRF9Q QUdFUFJPRy4gKi8KPj4gKwlpZiAocGFnZSAhPSAtMSkgewo+PiArCQlyZXQgPSBuYW5kX3Byb2df cGFnZV9iZWdpbl9vcChuYW5kLCBwYWdlLCAwLCBOVUxMLCAwKTsKPj4gKwkJaWYgKHJldCkKPj4g KwkJCXJldHVybiByZXQ7Cj4+ICsJfQo+PiArCj4+ICsJb29iX2J1ZiA9IG5hbmQtPm9vYl9wb2k7 Cj4+ICsKPj4gKwlyZXQgPSBuYW5kX2NoYW5nZV93cml0ZV9jb2x1bW5fb3AobmFuZCwgcGFnZV9z aXplIC0gb29iX2J5dGVzLAo+PiArCQkJCQkgIG9vYl9idWYgKyAobXRkLT5vb2JzaXplIC0gb29i X2J5dGVzKSwKPj4gKwkJCQkJICBvb2JfYnl0ZXMsIGZhbHNlKTsKPj4gKwlpZiAocmV0KQo+PiAr CQlyZXR1cm4gcmV0Owo+PiArCj4+ICsJcmV0dXJuIChwYWdlICE9IC0xKSA/IG5hbmRfcHJvZ19w YWdlX2VuZF9vcChuYW5kKSA6IDA7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbnQgbWVzb25fbmZj X3JlYWRfb29iKHN0cnVjdCBuYW5kX2NoaXAgKm5hbmQsIGludCBwYWdlKQo+PiArewo+PiArCXN0 cnVjdCBtdGRfaW5mbyAqbXRkID0gbmFuZF90b19tdGQobmFuZCk7Cj4+ICsJdTggKm9vYl9idWYg PSBuYW5kLT5vb2JfcG9pOwo+PiArCXUzMiBvb2JfYnl0ZXM7Cj4+ICsJdTMyIHBhZ2Vfc2l6ZTsK Pj4gKwlpbnQgcmV0Owo+PiArCWludCBpOwo+PiArCj4+ICsJLyogQ2FsbGVkIGFzIE9PQiByZWFk IGhlbHBlciwgc2VuZCBOQU5EX0NNRF9SRUFEMC4gKi8KPj4gKwlpZiAocGFnZSAhPSAtMSkgewo+ IAo+IEkgZG9uJ3QgbGlrZSB0aGlzIGxvZ2ljIHdpdGggdGhlICItMSIsIGl0IHJlYWxseSBoaWRl cyB3aGF0IHRoZQo+IGNvbnRyb2xsZXIgbmVlZHMgdG8gZG8sIGlmIHlvdSBuZWVkIGEgaGVscGVy IHRvIHNlbmQgYSBjb21tYW5kLCB0aGVuCj4gY3JlYXRlIHRoYXQgaGVscGVyIGFuZCBnaXZlIGl0 IGEgZGVjZW50IG5hbWUuCgpJIHNlZSwgc28gSSB0aGluayBJIG5lZWQgdG8gaW1wbGVtZW50IHRo aXMgaW4gdGhlIGZvbGxvd2luZyB3YXk6CjEpIEZvciBPT0IgY2FsbGJhY2sgaXQgYWx3YXlzIHNl bmRzIE5BTkRfQ01EX1JFQUQwIChlLmcuIHdpdGhvdXQgYW55ICdpZicpCjIpIEZvciByZWFkIE9P QiB3aXRoIGRhdGEgcGFnZSB3ZSBkb24ndCBuZWVkIHRvIHNlbmQgTkFORF9DTURfUkVBRDAuIChh bHNvIHdpdGhvdXQgYW55ICdpZicpCgo+IAo+PiArCQlyZXQgPSBuYW5kX3JlYWRfcGFnZV9vcChu YW5kLCBwYWdlLCAwLCBOVUxMLCAwKTsKPj4gKwkJaWYgKHJldCkKPj4gKwkJCXJldHVybiByZXQ7 Cj4+ICsJfQo+PiArCj4+ICsJLyogUmVhZCBFQ0MgY29kZXMgYW5kIHVzZXIgYnl0ZXMuICovCj4+ ICsJZm9yIChpID0gMDsgaSA8IG5hbmQtPmVjYy5zdGVwczsgaSsrKSB7Cj4+ICsJCXUzMiBlY2Nf b2ZmcyA9IG5hbmQtPmVjYy5zaXplICogKGkgKyAxKSArCj4+ICsJCQkgICAgICAgKG5hbmQtPmVj Yy5ieXRlcyArIDIpICogaTsKPj4gKwo+PiArCQlyZXQgPSBuYW5kX2NoYW5nZV9yZWFkX2NvbHVt bl9vcChuYW5kLCBlY2Nfb2ZmcywKPj4gKwkJCQkJCSBvb2JfYnVmICsgaSAqIChuYW5kLT5lY2Mu Ynl0ZXMgKyAyKSwKPj4gKwkJCQkJCSAobmFuZC0+ZWNjLmJ5dGVzICsgMiksIGZhbHNlKTsKPj4g KwkJaWYgKHJldCkKPj4gKwkJCXJldHVybiByZXQ7Cj4+ICsJfQo+PiArCj4+ICsJb29iX2J5dGVz ID0gbWVzb25fbmZjX29vYl9mcmVlX2J5dGVzKG5hbmQpOwo+PiArCj4+ICsJaWYgKCFvb2JfYnl0 ZXMpCj4+ICsJCXJldHVybiAwOwo+PiArCj4+ICsJcGFnZV9zaXplID0gbXRkLT53cml0ZXNpemUg KyBtdGQtPm9vYnNpemU7Cj4+ICsKPj4gKwlyZXQgPSBuYW5kX2NoYW5nZV9yZWFkX2NvbHVtbl9v cChuYW5kLCBwYWdlX3NpemUgLSBvb2JfYnl0ZXMsCj4+ICsJCQkJCSBvb2JfYnVmICsgKG10ZC0+ b29ic2l6ZSAtIG9vYl9ieXRlcyksCj4+ICsJCQkJCSBvb2JfYnl0ZXMsIGZhbHNlKTsKPj4gKwo+ PiArCXJldHVybiByZXQ7Cj4+ICt9Cj4+ICsKPj4gIHN0YXRpYyBpbnQgbWVzb25fbmZjX3dyaXRl X3BhZ2Vfc3ViKHN0cnVjdCBuYW5kX2NoaXAgKm5hbmQsCj4+ICAJCQkJICAgIGludCBwYWdlLCBp bnQgcmF3KQo+PiAgewo+PiBAQCAtNjc0LDYgKzc3MSwxMiBAQCBzdGF0aWMgaW50IG1lc29uX25m Y193cml0ZV9wYWdlX3N1YihzdHJ1Y3QgbmFuZF9jaGlwICpuYW5kLAo+PiAgCQkJCSAgICAgTkZD X0NNRF9TQ1JBTUJMRVJfRElTQUJMRSk7Cj4+ICAJfQo+PiAgCj4+ICsJaWYgKCFyYXcpIHsKPiAK PiBXaHkgdGhpcyBjaGVjaz8KPiAKPiBZb3Ugc2hvdWxkIGluc3RlYWQgcHJvcGFnYXRlIHRoZSBv b2JfcmVxdWlyZWQgZmllbGQgYW5kIGNoZWNrIHRoYXQKPiB2YWx1ZSBJIGJlbGlldmUuCgoKVGhp cyBjaGVjayBpcyBmb3IgRUNDIG1vZGUsIGJlY2F1c2UgaW4gdGhpcyBtb2RlIHdlIHdyaXRlIHVz ZXIgYnl0ZXMgb2YgT09CLgpFQ0MgYnl0ZXMgb2YgT09CIGFyZSB3cml0dGVuIGJ5IGhhcmR3YXJl LiBJIHRoaW5rIEkgbWFkZSBhIG1pc3Rha2UsIGJlY2F1c2UKSSBuZWVkIG5ldyBjYWxsYmFjayB0 byB3cml0ZSBPT0IgaW4gcmF3IG1vZGUgLSBpdCB3aWxsIHdyaXRlIGJvdGggRUNDIGFuZCB1c2Vy CnBhcnRzLCBpbiBjdXJyZW50IHZlcnNpb24gSSB3cml0ZSBvbmx5IHVzZXIgcGFydCBpbiByYXcg bW9kZS4KCj4gCj4+ICsJCXJldCA9IG1lc29uX25mY193cml0ZV9vb2IobmFuZCwgLTEpOwo+PiAr CQlpZiAocmV0KQo+PiArCQkJcmV0dXJuIHJldDsKPj4gKwl9Cj4+ICsKPj4gIAljbWQgPSBuZmMt PnBhcmFtLmNoaXBfc2VsZWN0IHwgTkZDX0NNRF9DTEUgfCBOQU5EX0NNRF9QQUdFUFJPRzsKPj4g IAl3cml0ZWwoY21kLCBuZmMtPnJlZ19iYXNlICsgTkZDX1JFR19DTUQpOwo+PiAgCW1lc29uX25m Y19xdWV1ZV9yYihuYW5kLCBQU0VDX1RPX01TRUMoc2RyLT50UFJPR19tYXgpKTsKPj4gQEAgLTgz NCwxNyArOTM3LDEwIEBAIHN0YXRpYyBpbnQgbWVzb25fbmZjX3JlYWRfcGFnZV9od2VjYyhzdHJ1 Y3QgbmFuZF9jaGlwICpuYW5kLCB1OCAqYnVmLAo+PiAgCQltZW1jcHkoYnVmLCBtZXNvbl9jaGlw LT5kYXRhX2J1ZiwgbXRkLT53cml0ZXNpemUpOwo+PiAgCX0KPj4gIAo+PiAtCXJldHVybiBiaXRm bGlwczsKPj4gLX0KPj4gLQo+PiAtc3RhdGljIGludCBtZXNvbl9uZmNfcmVhZF9vb2JfcmF3KHN0 cnVjdCBuYW5kX2NoaXAgKm5hbmQsIGludCBwYWdlKQo+PiAtewo+PiAtCXJldHVybiBtZXNvbl9u ZmNfcmVhZF9wYWdlX3JhdyhuYW5kLCBOVUxMLCAxLCBwYWdlKTsKPj4gLX0KPj4gKwlpZiAob29i X3JlcXVpcmVkICYmIHJldCkKPiAKPiBVbmNsZWFyIHdoeSB5b3UgY2hlY2sgcmV0IGhlcmU/Cj4g CgpJZiByZWFkIHdhcyBzdWNjZXNzZnVsLCB3ZSByZWFkIE9PQi4gSWYgbm90IC0gdGhlcmUgaXMg bm8gc2Vuc2UgaW4gaXQuCgo+PiArCQltZXNvbl9uZmNfcmVhZF9vb2IobmFuZCwgLTEpOwo+PiAg Cj4+IC1zdGF0aWMgaW50IG1lc29uX25mY19yZWFkX29vYihzdHJ1Y3QgbmFuZF9jaGlwICpuYW5k LCBpbnQgcGFnZSkKPj4gLXsKPj4gLQlyZXR1cm4gbWVzb25fbmZjX3JlYWRfcGFnZV9od2VjYyhu YW5kLCBOVUxMLCAxLCBwYWdlKTsKPj4gKwlyZXR1cm4gYml0ZmxpcHM7Cj4+ICB9Cj4+ICAKPj4g IHN0YXRpYyBib29sIG1lc29uX25mY19pc19idWZmZXJfZG1hX3NhZmUoY29uc3Qgdm9pZCAqYnVm ZmVyKQo+PiBAQCAtOTg3LDEyICsxMDgzLDE2IEBAIHN0YXRpYyBpbnQgbWVzb25fb29ibGF5b3V0 X2ZyZWUoc3RydWN0IG10ZF9pbmZvICptdGQsIGludCBzZWN0aW9uLAo+PiAgCQkJCXN0cnVjdCBt dGRfb29iX3JlZ2lvbiAqb29icmVnaW9uKQo+PiAgewo+PiAgCXN0cnVjdCBuYW5kX2NoaXAgKm5h bmQgPSBtdGRfdG9fbmFuZChtdGQpOwo+PiArCXUzMiBvb2JfYnl0ZXMgPSBtZXNvbl9uZmNfb29i X2ZyZWVfYnl0ZXMobmFuZCk7Cj4+ICAKPj4gIAlpZiAoc2VjdGlvbiA+PSBuYW5kLT5lY2Muc3Rl cHMpCj4+ICAJCXJldHVybiAtRVJBTkdFOwo+PiAgCj4+IC0Jb29icmVnaW9uLT5vZmZzZXQgPSBz ZWN0aW9uICogKDIgKyBuYW5kLT5lY2MuYnl0ZXMpOwo+IAo+IFRoZSBmaXJzdCB0d28gYnl0ZXMg b2YgT09CIGFyZSByZXNlcnZlZCBmb3IgdGhlIGJhZCBibG9jayBtYXJrZXJzLiBUaGlzCj4gaXMg bm90IHJlbGF0ZWQgdG8geW91ciBjb250cm9sbGVyLgoKSSB0aGluayBmaXJzdCB0d28gYnl0ZXMg KGluIGZhY3QgdGhlcmUgYXJlIDQgYnl0ZXMgYXQgcG9zaXRpb25zIDAsIDEsIDE2IGFuZCAxNykK aXMgY29uc2lkZXJlZCBieSBoYXJkd2FyZSBhcyB1c2VyIGJ5dGVzIGNvdmVyZWQgYnkgRUNDLgoK VGhhbmtzLCBBcnNlbml5Cgo+IAo+PiAtCW9vYnJlZ2lvbi0+bGVuZ3RoID0gMjsKPj4gKwkvKiBT cGxpdCByZXN0IG9mIE9PQiBhcmVhIChub3QgY292ZXJlZCBieSBFQ0MgZW5naW5lKSBwZXIgZWFj aAo+PiArCSAqIEVDQyBzZWN0aW9uLiBUaGlzIHdpbGwgYmUgT09CIGRhdGEgYXZhaWxhYmxlIHRv IHVzZXIuCj4+ICsJICovCj4+ICsJb29icmVnaW9uLT5vZmZzZXQgPSAoc2VjdGlvbiArIG5hbmQt PmVjYy5zdGVwcykgKiAoMiArIG5hbmQtPmVjYy5ieXRlcyk7Cj4gCj4gVGhpcyBpcyBub3QgcG9z c2libGUsIHNlZSBhYm92ZS4KPiAKPj4gKwlvb2JyZWdpb24tPmxlbmd0aCA9IG9vYl9ieXRlcyAv IG5hbmQtPmVjYy5zdGVwczsKPj4gIAo+PiAgCXJldHVybiAwOwo+PiAgfQo+PiBAQCAtMTIyMCwx MiArMTMyMCwxMiBAQCBzdGF0aWMgaW50IG1lc29uX25hbmRfYXR0YWNoX2NoaXAoc3RydWN0IG5h bmRfY2hpcCAqbmFuZCkKPj4gIAluYW5kLT5lY2MuZW5naW5lX3R5cGUgPSBOQU5EX0VDQ19FTkdJ TkVfVFlQRV9PTl9IT1NUOwo+PiAgCW5hbmQtPmVjYy53cml0ZV9wYWdlX3JhdyA9IG1lc29uX25m Y193cml0ZV9wYWdlX3JhdzsKPj4gIAluYW5kLT5lY2Mud3JpdGVfcGFnZSA9IG1lc29uX25mY193 cml0ZV9wYWdlX2h3ZWNjOwo+PiAtCW5hbmQtPmVjYy53cml0ZV9vb2JfcmF3ID0gbmFuZF93cml0 ZV9vb2Jfc3RkOwo+PiAtCW5hbmQtPmVjYy53cml0ZV9vb2IgPSBuYW5kX3dyaXRlX29vYl9zdGQ7 Cj4+ICAKPj4gKwluYW5kLT5lY2Mud3JpdGVfb29iX3JhdyA9IG1lc29uX25mY193cml0ZV9vb2I7 Cj4+ICsJbmFuZC0+ZWNjLndyaXRlX29vYiA9IG1lc29uX25mY193cml0ZV9vb2I7Cj4+ICAJbmFu ZC0+ZWNjLnJlYWRfcGFnZV9yYXcgPSBtZXNvbl9uZmNfcmVhZF9wYWdlX3JhdzsKPj4gIAluYW5k LT5lY2MucmVhZF9wYWdlID0gbWVzb25fbmZjX3JlYWRfcGFnZV9od2VjYzsKPj4gLQluYW5kLT5l Y2MucmVhZF9vb2JfcmF3ID0gbWVzb25fbmZjX3JlYWRfb29iX3JhdzsKPj4gKwluYW5kLT5lY2Mu cmVhZF9vb2JfcmF3ID0gbWVzb25fbmZjX3JlYWRfb29iOwo+PiAgCW5hbmQtPmVjYy5yZWFkX29v YiA9IG1lc29uX25mY19yZWFkX29vYjsKPj4gIAo+PiAgCWlmIChuYW5kLT5vcHRpb25zICYgTkFO RF9CVVNXSURUSF8xNikgewo+IAo+IAo+IFRoYW5rcywKPiBNaXF1w6hsCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcg bGlzdApsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hbWxvZ2ljCg==