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 5D8A1C4321E for ; Fri, 2 Dec 2022 14:06:52 +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:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=7l87O31tl5p6hltfQTJeHx3UuAP+suypbYha2d/oP4Y=; b=0anYN69rZMO8IC +tG/gjOh1a3hpEB3S11kU2+pJJykeJUCqSu2o4tH2gj4/PG+YZJH/56s4eBIczv3vBKb7rKVqyR61 8M0aLNWzQdrxq2LOSdW3QyMaCIWKV6WR7NxTwHbdJDj2msH2Wm0+YWl/thuvapeYeMHffkPUAiHqz Rm1AaRe4qoflKTCY6rUpJ+BerzyqyaH0lFmXdwRAPJPkPQ2Ol2jn/zeJ/E6UtpGHCnIxsEHYmPVyf NJlaeO7uablOLcegG78siM0GVMZ4JT9dOJ3ykEWoMv7rCL7aonet3ySkzIfKGNnFpxHvg2WUdb4NU Zh2sY+YCsWUh25PMOdkw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1p16gH-00Gjwd-QV; Fri, 02 Dec 2022 14:06:21 +0000 Received: from relay6-d.mail.gandi.net ([2001:4b98:dc4:8::226]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1p16g5-00Gjtu-Nu; Fri, 02 Dec 2022 14:06:12 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 4AD82C000C; Fri, 2 Dec 2022 14:05:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1669989962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gZwPEMsk3iVcTfUXNdycqjkaeCLeKIl6lTS9C9qSpeY=; b=dJGlFM1SPaZ0j4uLBbGbxgKUblaYsQLr5YrT2BSK3A1nuo3y9JG9Q/5QhiMBjktFaO/s70 SoiD44DKRpmIDGgV7NIOG33BGza4c1Q4OfXl6yGiEAmmN3dSBAu5ddGqDEDOMLaK9JucmJ Xrh8f4GjrutJeQtwukF5d7YKQCvc96X+cx4lCApCm24h/UUrJIIY6EF1v5cfp8skADsJO1 Ev9y7UT7NV5qSGIxLk+tgjxj7gFSzcZMla/7nbB6n5eZFrul6PtOKoqTbSqly6lQEug62a 5THDLsB6zrFT5ZpKGStEumqdEyxb+kKiNBzHgUaeFI5SojQeXbQcJvb0Hyy6KQ== Date: Fri, 2 Dec 2022 15:05:56 +0100 From: Miquel Raynal To: Francesco Dolcini Cc: Richard Weinberger , Vignesh Raghavendra , linux-mtd@lists.infradead.org, Marek Vasut , Francesco Dolcini , Shawn Guo , linux-arm-kernel@lists.infradead.org, stable@vger.kernel.org, u-boot@lists.denx.de Subject: Re: [PATCH v1] mtd: parsers: ofpart: Fix parsing when size-cells is 0 Message-ID: <20221202150556.14c5ae43@xps-13> In-Reply-To: References: <20221202071900.1143950-1-francesco@dolcini.it> <20221202101418.6b4b3711@xps-13> <20221202115327.4475d3a2@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221202_060610_152407_33D47AA3 X-CRM114-Status: GOOD ( 65.52 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org SGkgRnJhbmNlc2NvLAoKZnJhbmNlc2NvQGRvbGNpbmkuaXQgd3JvdGUgb24gRnJpLCAyIERlYyAy MDIyIDEyOjIzOjM3ICswMTAwOgoKPiArIHUtYm9vdCBsaXN0Cj4gCj4gT24gRnJpLCBEZWMgMDIs IDIwMjIgYXQgMTE6NTM6MjdBTSArMDEwMCwgTWlxdWVsIFJheW5hbCB3cm90ZToKPiA+IGZyYW5j ZXNjb0Bkb2xjaW5pLml0IHdyb3RlIG9uIEZyaSwgMiBEZWMgMjAyMiAxMToyNDoyOSArMDEwMDog IAo+ID4gPiBPbiBGcmksIERlYyAwMiwgMjAyMiBhdCAxMToxMjo0M0FNICswMTAwLCBGcmFuY2Vz Y28gRG9sY2luaSB3cm90ZTogIAo+ID4gPiA+IE9uIEZyaSwgRGVjIDAyLCAyMDIyIGF0IDEwOjE0 OjE4QU0gKzAxMDAsIE1pcXVlbCBSYXluYWwgd3JvdGU6ICAgIAo+ID4gPiA+ID4gZnJhbmNlc2Nv QGRvbGNpbmkuaXQgd3JvdGUgb24gRnJpLCAgMiBEZWMgMjAyMiAwODoxOTowMCArMDEwMDogICAg Cj4gPiA+ID4gPiA+IEZyb206IEZyYW5jZXNjbyBEb2xjaW5pIDxmcmFuY2VzY28uZG9sY2luaUB0 b3JhZGV4LmNvbT4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEFkZCBhIGZhbGxiYWNrIG1lY2hh bmlzbSB0byBoYW5kbGUgdGhlIGNhc2UgaW4gd2hpY2ggI3NpemUtY2VsbHMgaXMgc2V0Cj4gPiA+ ID4gPiA+IHRvIDwwPi4gQWNjb3JkaW5nIHRvIHRoZSBEVCBiaW5kaW5nIHRoZSBuYW5kIGNvbnRy b2xsZXIgbm9kZSBzaG91bGQgaGF2ZQo+ID4gPiA+ID4gPiBzZXQgaXQgdG8gMCBhbmQgdGhpcyBp cyBub3QgY29tcGF0aWJsZSB3aXRoIHRoZSBsZWdhY3kgd2F5IG9mCj4gPiA+ID4gPiA+IHNwZWNp ZnlpbmcgcGFydGl0aW9ucyBkaXJlY3RseSBhcyBjaGlsZCBub2RlcyBvZiB0aGUgbmFuZC1jb250 cm9sbGVyIG5vZGUuICAgIAo+ID4gPiA+ID4gCj4gPiA+ID4gPiBJIHVuZGVyc3RhbmQgdGhlIHBy b2JsZW0sIEkgdW5kZXJzdGFuZCB0aGUgZml4LCBidXQgSSBoYXZlIHRvIHNheSwgSQo+ID4gPiA+ ID4gc3Ryb25nbHkgZGlzbGlrZSBpdCA6KSBUb3VjaGluZyBhbiBtdGQgY29yZSBkcml2ZXIgdG8g Zml4IGEgc2luZ2xlCj4gPiA+ID4gPiBicm9rZW4gdXNlIGNhc2UgbGlrZSB0aGF0IGlzLi4uIHBy b2JsZW1hdGljLCBmb3IgdGhlIGxlYXN0LiAgICAKPiA+ID4gPiBJIGp1c3Qgbm90aWNlZCBpdCAy IGRheXMgYWZ0ZXIgdGhpcyBwYXRjaCB3YXMgYmFja3BvcnRlZCB0byBhIHN0YWJsZQo+ID4gPiA+ IGtlcm5lbCwgSSBhbSBqdXN0IHRoZSBmaXJzdCBvbmUgdG8gbm90aWNlLCB3ZSBhcmUgbm90IHRh bGtpbmcgYWJvdXQgYSBzaW5nbGUKPiA+ID4gPiB1c2UgY2FzZS4KPiA+ID4gPiAgICAgCj4gPiA+ ID4gPiBJIGFtIHNvcnJ5IGJ1dCBpZiBhIDYuMCBrZXJuZWwgYnJlYWtzIGJlY2F1c2U6ICAgIAo+ ID4gPiA+IE5vdCBvbmx5IGtlcm5lbCA2LjAgaXMgY3VycmVudGx5IGJyb2tlbi4gVGhpcyBwYXRj aCBpcyBnb2luZyB0byBiZQo+ID4gPiA+IGJhY2twb3J0ZWQgdG8gYW55IHN0YWJsZSBrZXJuZWwg Z2l2ZW4gdGhlIGZpeGVzIHRhZyBpdCBoYXMuCj4gPiA+ID4gICAgIAo+ID4gPiA+ID4gSWYgeW91 IHJlYWxseSB3YW50IHRvIHdvcmthcm91bmQgVS1Cb290LCBlaXRoZXIgeW91IHJldmVydCB0aGF0 IHBhdGNoCj4gPiA+ID4gPiBvciB5b3UganVzdCBmaXggdGhlIERUIGRlc2NyaXB0aW9uIGluc3Rl YWQuIFRoZSBwYXJlbnQvY2hpbGQvcGFydGl0aW9ucwo+ID4gPiA+ID4gc2NoZW1lIGhhcyBiZWVu IGVuZm9yY2VkIGZvciBtYXliZSA1IHllYXJzIG5vdyBhbmQgZm9yIGEgZ29vZCByZWFzb246IGEK PiA+ID4gPiA+IE5BTkQgY29udHJvbGxlciB3aXRoIHBhcnRpdGlvbnMgZG9lcyBub3QgbWFrZSBf YW55XyBzZW5zZS4gVGhlcmUgYXJlCj4gPiA+ID4gPiBwbGVudHkgb2YgZXhhbXBsZXMgb3V0IHRo ZXJlLCBpbXg3LWNvbGlicmkuZHRzaSBoYXMgcmVjZWl2ZWQgbWFueQo+ID4gPiA+ID4gdXBkYXRl cyBzaW5jZSBpdHMgaW50cm9kdWN0aW9uIChmb3IgdGhlIGJlc3QpLCBzbyB3aHkgbm90IHRoaXMg b25lPyAgICAKPiA+ID4gPiAKPiA+ID4gPiBJIGNhbiBhbmQgSSB3aWxsIHVwZGF0ZSBpbXg3LWNv bGlicmkuZHRzaSAocGF0Y2ggY29taW5nKSwgIAo+ID4gCj4gPiA6dGh1bWJfdXA6Cj4gPiAgIAo+ ID4gPiA+IGJ1dCBpcyB0aGlzCj4gPiA+ID4gZ29vZCBlbm91Z2ggZ2l2ZW4gdGhlIGtpbmQgb2Yg Ym9vdCBmYWlsdXJlIHJlZ3Jlc3Npb24gdGhpcyBpbnRyb2R1Y2U/IFdlCj4gPiA+ID4gYXJlIGdv aW5nIHRvIGhhdmUgb2xkIHUtYm9vdCBhcm91bmQgdGhhdCB3aWxsIG5vdCB3b3JrIHdpdGggaXQs IGFuZCB0aGUgICAgCj4gPiA+IAo+ID4gPiBKdXN0IGFub3RoZXIgcGllY2Ugb2YgaW5mb3JtYXRp b24sIHN1cHBvcnQgZm9yIHRoZSBwYXJ0aXRpb25zIG5vZGUgaW4KPiA+ID4gVS1Cb290IHdhcyBh ZGRlZCBpbiB2ZXJzaW9uIHYyMDIyLjA0IFsxXSwgd2UgYXJlIG5vdCB0YWxraW5nIGFib3V0IGFu Y2llbnQKPiA+ID4gb2xkIGxlZ2FjeSBzdHVmZi4gIAo+ID4gCj4gPiBJZiBpdCBpcyBzbyByZWNl bnQsIHRoZW4gdGhpcyBpcyB3aGF0IG5lZWRzIHRvIGJlIGZpeGVkLCBhbmQgaXQgc2hvdWxkCj4g PiBub3QgYm90aGVyICJtYW55IiBwZW9wbGUgYmVjYXVzZSAyMDIyLjA0IGlzIG5vdCBzbyBvbGQu Cj4gPiAKPiA+IFNvIEkgYW0gYSBiaXQgbG9zdCwgSUlVQyB3aGF0IGlzIGN1cnJlbnRseSBicm9r ZW4gaXM6Cj4gPiAtIFUtQm9vdCA+IDIwMjIuMDQgYW5kIGFueSB2ZXJzaW9uIG9mIExpbnV4IHdp dGggdGhlIGJhY2twb3J0Pwo+ID4gICAKPiA+ID4gSWYgSSBhZGQgdGhlIHBhcnRpdGlvbnMgbm9k ZSBhcyBhIGNoaWxkIG9mIG15IG5hbmQgY29udHJvbGxlciwgYXMgSSB3YXMKPiA+ID4gcGxhbm5p bmcgdG8gZG8gYW5kIEkgd3JvdGUgMTAgbGluZXMgYWJvdmUsIEkgd2lsbCBjcmVhdGUgYSBuZXcg Zmxhdm9yIG9mCj4gPiA+IG5vbi1ib290aW5nIHN5c3RlbSB3aXRoIFUtQm9vdCBvbGRlciB0aGFu IHYyMDIyLjA0IDotLyAgCj4gPiAKPiA+IEkgdGhpbmsgdGhlcmUgaXMgYSBsaXR0bGUgY29uZnVz aW9uIGhlcmUuIFlvdSBhcmUgcmVmZXJyaW5nIHRvIHRoZSBOQU5EICAKPiBJIGd1ZXNzIEkgaGF2 ZSBub3QgZXhwbGFpbmVkIG15c2VsZiB3ZWxsIGVub3VnaCA6LSkKCk9rLCB0aGVyZSBpcyBzdGls bCBhIGNvbmZ1c2lvbi4gRXZlbiB0aG91Z2ggSSB0aGluayB5b3VyIGxvZ2ljIHN0aWxsCmFwcGxp ZXMsIEkgd2FudCB0byBlbXBoYXNpcyBvbiBob3cgd3JvbmcgaXQgaXMgdG8gZGVmaW5lIHBhcnRp dGlvbnMgaW4KdGhlIE5BTkQgX2NvbnRyb2xsZXJfIG5vZGUgcmF0aGVyIHRoYW4gdGhlIE5BTkQg X2NoaXBfIG5vZGUuIEFuZCBJCnRoaW5rIHRoaXMgbWlnaHQgaGF2ZSBhbiBpbXBhY3Qgb24gb3Vy IGZpbmFsIGNob2ljZS4KCj4gVS1Cb290IGlzIGNyZWF0aW5nIHRoZSBwYXJ0aXRpb25zIGluIHRo ZSBkdGIsIHRoZXkgYXJlIG5vdCBkZWZpbmVkIGluCj4gdGhlIHNvdXJjZSBkdHMgZmlsZSAodGhp cyBpcyBjb21tb24gcHJhY3RpY2Ugd2l0aCBtdWx0aXBsZSBib2FyZHMpLgoKVGhhdCBmZHRfZml4 dXBfbXRkcGFydHMoKSB0aGluZyBpcyBhIG1pc3Rha2UuIFRoZSBvcmlnaW5hbCBpZGVhIGlzOgoK MS4gRGVmaW5lIHdyb25nIG5vZGVzIGluIHlvdXIgRFQKMi4gRml4IHlvdXIgRFQgYXQgcnVuIHRp bWUgaW4gVS1Cb290CjMuIFByb3ZpZGUgdGhlICJmaXhlZCIgRFQgdG8gTGludXgKCk5vdyBzdGVw ICMyIG5vdyBwcm9kdWNlcyB3cm9uZyBGRFQuIFNvIHdoYXQsIHdlIHNob3VsZCBkYXJrZW4gZXZl bgptb3JlIHRoZSBvZiBwYXJ0aXRpb24gZHJpdmVyIGluIExpbnV4IHRvIHdvcmthcm91bmQgaXQ/ IEF0IG1vc3Qgd2hhdCB3ZQpjYW4gZG8gaXMgd2FybiB0aGUgdXNlciBzbyB0aGF0IHBlb3BsZSBk b24ndCBsb29zZSB0aW1lIHVuZGVyc3RhbmRpbmcKd2hhdCBoYXBwZW5zLCBidXQgSSBhbSBhZ2Fp bnN0IHN1cHBvcnRpbmcgdGhpcywgZXZlci4KCj4gQmVmb3JlIHYyMDIyLjA0IGl0IHdhcyBhbHdh eXMgdXBkYXRpbmcgdGhlIG5hbmQtY29udHJvbGxlciBub2RlLAo+IHN0YXJ0aW5nIGZyb20gdjIw MjIuMDQgaWYgdGhlcmUgaXMgYSBkZWRpY2F0ZWQgYHBhcnRpdGlvbnNgIG5vZGUgaXQgdXNlcwo+ IGl0LgoKU291bmRzIHJlYXNvbmFibGUuCgo+IFRoaXMgaXMganVzdCB0aGUgcmV2ZXJzZSBvZiB3 aGF0IG9mcGFydF9jb3JlLmMgaXMgZG9pbmcgKGlmIHRoZQo+IHBhcnRpdGlvbnMgbm9kZSBpcyB0 aGVyZSBpdCBhc3N1bWVzIHRoZSBwYXJ0aXRpb25zIHNob3VsZCBnbyBpbnRvIGl0LAo+IG90aGVy d2lzZSBpdCBwcm9jZWVkcyB3aXRoIHRoZSBsZWdhY3kgd2F5KS4KClllcywgdGhhdCdzIGhvdyB3 ZSBoYW5kbGUgbGVnYWN5IGJpbmRpbmdzLgoKPiBMZXQncyBoYXZlIGEgY29uY3JldGUgZXhhbXBs ZSB3aXRoIGNvbGlicmktaW14Ny4KPiAKPiBDdXJyZW50IHN0YXR1czoKPiAgLSBUaGUgbmFuZC1j b250cm9sbGVyIG5vZGUgZG9lcyBub3QgaW5jbHVkZSBhbnkgcGFydGl0aW9ucyBjaGlsZCwgYW55 Cj4gICAgVS1Cb290IHZlcnNpb24gd2lsbCBqdXN0IGFkZCB0aGUgcGFydGl0aW9uIGRpcmVjdGx5 IGFzIGNoaWxkIG9mIHRoZQo+ICAgIG5hbmQgY29udHJvbGxlci4gVGhpcyBpcyB3aGVyZSBJIGFt IGhpdHRpbmcgdGhpcyBib290IHJlZ3Jlc3Npb24gbm93LgoKTm90IGV4YWN0bHkuIEl0IHdvcmtl ZCB1bnRpbCBub3cgYmVjYXVzZSB5b3VyIG9yaWdpbmFsIERUIGFscmVhZHkKaW5jbHVkZWQgI3Np emUtY2VsbHMgPSA8MT4gSSBiZWxpZXZlLiBJdCBkb2VzIG5vdCBkbyB0aGF0IGFueW1vcmUgYW5k CnRoYXQgaXMgd2h5IHlvdSBnZXQgeW91ciBib290IHJlZ3Jlc3Npb246IGJlY2F1c2UgdGhlIERU IHdhcyBtb2RpZmllZC4KClRoZSByZWFzb24gd2h5IHRoZSBEVCBnb3QgbW9kaWZpZWQgaG93ZXZl ciBpcyBpbnRlcmVzdGluZy4gVGhlIGNvbW1pdApsb2cgc2F5cyB0aGUgZ29hbCBpcyB0byBjb21w bHkgd2l0aCBtb2Rlcm4gYmluZGluZ3MsIHdoaWNoIGlzIGdyZWF0LgpCdXQgaWYgeW91IGJyZWFr IGhvdyB5b3VyIGJvYXJkIGJvb3RzLCB0aGVuIHlvdSBzaG91bGQgcHJvYmFibHkgbm90IGRvCnRo YXQuIEFuZCBpZiB3ZSByZWFsbHkgY2FyZSBhYm91dCBjb21wbHlpbmcgd2l0aCB0aGUgYmluZGlu Z3MsIHRoZXJlCmlzIHNvbWV0aGluZyBtdWNoIG1vcmUgaW50ZXJlc3RpbmcgdGhhbiBmaXhpbmcg YSBzaW5nbGUgcHJvcGVydHk6CmRpc3Rpbmd1aXNoaW5nIHRoZSBOQU5EIGNvbnRyb2xsZXIgdnMu IHRoZSBOQU5EIGNoaXAocyksIHdoaWNoIGhhcyBiZWVuCmVuZm9yY2VkIHNpbmNlIDIwMTYgKHdo aWNoIHByb2JhYmx5IHByZWRhdGVzIHRoZSBpbXg3LWNvbGlicmkuZHRzaSwgYnV0CndoYXRldmVy KToKMmQ0NzJhYmExNWZmICgibXRkOiBuYW5kOiBkb2N1bWVudCB0aGUgTkFORCBjb250cm9sbGVy L05BTkQgY2hpcCBEVCByZXByZXNlbnRhdGlvbiIpCgo+IFBvdGVudGlhbCBjaGFuZ2UgSSBlbnZp c2lvbmVkIGhlcmU6Cj4gIC0gSSBhZGQgdGhlIHBhcnRpdGlvbnMgbm9kZSB0byB0aGUgbmFuZC1j b250cm9sbGVyLCBlLmcuCj4gCj4gLS0tIGEvYXJjaC9hcm0vYm9vdC9kdHMvaW14Ny1jb2xpYnJp LmR0c2kKPiArKysgYi9hcmNoL2FybS9ib290L2R0cy9pbXg3LWNvbGlicmkuZHRzaQo+IEBAIC0z ODAsNiArMzgwLDEyIEBAICZncG1pIHsKPiAgICAgICAgIG5hbmQtb24tZmxhc2gtYmJ0Owo+ICAg ICAgICAgcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiAgICAgICAgIHBpbmN0cmwtMCA9IDwm cGluY3RybF9ncG1pX25hbmQ+Owo+ICsKPiArICAgICAgIHBhcnRpdGlvbnMgewo+ICsgICAgICAg ICAgICAgICBjb21wYXRpYmxlID0gImZpeGVkLXBhcnRpdGlvbnMiOwo+ICsgICAgICAgICAgICAg ICAjYWRkcmVzcy1jZWxscyA9IDwxPjsKPiArICAgICAgICAgICAgICAgI3NpemUtY2VsbHMgPSA8 MT47Cj4gKyAgICAgICB9Owo+ICB9Owo+IAo+ICAtIFUtQm9vdCA+PSB2MjAyMi4wNCB3aWxsIGp1 c3Qgd29yayBmaW5lIGNyZWF0aW5nIHRoZSBwYXJ0aXRpb25zIGFzCj4gICAgY3VycmVudGx5IGRl c2NyaWJlZCBpbiB0aGUgYmluZGluZ3MuCj4gIC0gVS1Cb290IDwgdjIwMjIuMDQgd2lsbCBzdGls bCBjcmVhdGUgdGhlIHBhcnRpdGlvbnMgYXMgY2hpbGQgb2YgdGhlCj4gICAgbmFuZC1jb250cm9s bGVyIG5vZGUuIExpbnV4IHdpbGwgc2VlIHRoYXQgYSBgcGFydGl0aW9uc2Agbm9kZSBleGlzdHMK PiAgICBidXQgaXQgd2lsbCBiZSBlbXB0eSwgbGVhZGluZyB0byBhIGJvb3QgZmFpbHVyZSBpbiBj YXNlIG10ZCBpcyB1c2VkCj4gICAgYXMgYm9vdCBkZXZpY2UuCj4gCj4gCj4gPiBjb250cm9sbGVy IG5vZGUsIHRoZSBjb21taXQgcmVmZXJzIHRvIHRoZSBOQU5EIGNoaXAgbm9kZS4gV2hhdCB0aGlz Cj4gPiBjb21taXQgZG9lcyBsb29rcyBmaW5lIGJlY2F1c2UgaXQganVzdCB0cmllcyB0byB1c2Ug dGhlIHBhcnRpdGlvbnMge30KPiA+IG5vZGUgcmF0aGVyIHRoYW4gdGhlIE5BTkQgY2hpcCBub2Rl IGFuZCBpZiB0aGUgcGFydGl0aW9ucyB7fSBub2RlCj4gPiBhbHJlYWR5IGV4aXN0LCBJIGV4cGVj dCAjYWRkcmVzcy1jZWxscyBhbmQgI3NpemUtY2VsbHMgdG8gYmUgZGVmaW5lZAo+ID4gYW5kIGJl ICE9IDAgYWxyZWFkeS4gIAo+IHllcywgdGhpcyBjb21taXQgaXMgcGVyZmVjdGx5IGZpbmUgSSBh Z3JlZS4KPiAKPiBUaGUgcmVhbGl0eSBpcyB0aGF0IHBlb3BsZSBpcyB1c2luZyBuZXdlciBrZXJu ZWwgd2l0aCBvbGRlciBVLUJvb3QsIGFuZAo+IEkgZG8gbm90IHRoaW5rIHRoYXQgZGVsaWJlcmF0 ZWx5IGJyZWFraW5nIHRoaXMgdXNlIGNhc2UgaXMgd2hhdCB0aGUKPiBMaW51eCBrZXJuZWwgc2hv dWxkIGRvLgoKQWdyZWVkLgoKPiBJIGRvIG5vdCB0aGluayB0aGF0IEkgY2FuIHB1c2ggYSBjaGFu Z2UgaW4gdGhlIERUUyB0aGF0IHdpbGwgYnJlYWsKPiBib290aW5nIGFueSBib2FyZCB1c2luZyBh biBvbGRlciBVLUJvb3QuCgpUaGF0J3MgaG93ZXZlciB0aGUgaW5pdGlhbCBjYXVzZSBvZiB0aGlz IGRpc2NvdmVyeS4gQSBEVCBjaGFuZ2UgYnJva2UKeW91ciBib290IGZsb3cuIEknbSBzYXlpbmcg InlvdXIiIGJvb3QgZmxvdyBiZWNhdXNlIEkgYW0gbm90IHN1cmUgaXQKYWZmZWN0cyAiYW55IiBi b2FyZC4KCkZvciBub3cgaXQgb25seSBhZmZlY3RzIHRoZSBpbXg3IGNvbGlicmkgYm9hcmRzIGJl Y2F1c2Ugb2Y6Cjc1MzM5NWVhMWU0NSAoIkFSTTogZHRzOiBpbXg3OiBGaXggTkFORCBjb250cm9s bGVyIHNpemUtY2VsbHMiKQoKQnV0IGFsbCB0aGVzZSBib2FyZHMgY291bGQgYmUgYWZmZWN0ZWQg aW4gdGhlIHNhbWUgd2F5IGJlY2F1c2Ugb2Ygc29tZQptYWNoaW5lIGNvZGUgcGxheWluZyB3aXRo IGZkdF9maXh1cF9tdGRwYXJ0cygpOgoqIGFyY2gvYXJtL21hY2gtdW5pcGhpZXIvZmR0LWZpeHVw LmMKKiBib2FyZC9jb21wdWxhYi9jbV9meDYvY21fZng2LmMKKiBib2FyZC9nYXRld29ya3MvZ3df dmVudGFuYS9nd192ZW50YW5hLmMKKiBib2FyZC9pc2VlL2lnZXAwMDN4L2JvYXJkLmMKKiBib2Fy ZC9pc2VlL2lnZXAwMHgwL2lnZXAwMHgwLmMKKiBib2FyZC9waHl0ZWMvcGh5Y29yZV9hbTMzNXhf cjIvYm9hcmQuYwoqIGJvYXJkL3N0L3N0bTMybXAxL3N0bTMybXAxLmMKKiBib2FyZC90b3JhZGV4 L2NvbGlicmktaW14NnVsbC9jb2xpYnJpLWlteDZ1bGwuYwoqIGJvYXJkL3RvcmFkZXgvY29saWJy aV9pbXg3L2NvbGlicmlfaW14Ny5jCiogYm9hcmQvdG9yYWRleC9jb2xpYnJpX3ZmL2NvbGlicmlf dmYuYwpUaGF0J3Mgb2YgY291cnNlIHdheSB0b28gbXVjaCBwb3NzaWJsZSBmYWlsdXJlcy4KCkkg c3RpbGwgc3Ryb25nbHkgZGlzYWdyZWUgd2l0aCB0aGUgaW5pdGlhbCBwcm9wb3NhbCBidXQgd2hh dCBJIHRoaW5rIHdlCmNhbiBkbyBpczoKCjEuIFRvIHByZXZlbnQgZnV0dXJlIGJyZWFrYWdlczog CiAgRml4IGZkdF9maXh1cF9tdGRwYXJ0cygpIGluIHUtYm9vdC4gVGhpcyB3YXkgbmV3ZXIgVS1C b290ICsgYW55CiAga2VybmVsIHNob3VsZCB3b3JrLgoKMi4gVG8gaGVscCB0cmFja2luZyBkb3du IHNpdHVhdGlvbnMgbGlrZSB0aGF0OgogIEtlZXAgdGhlIHdhcm5pbmcgaW4gb2ZwYXJ0LmMgYnV0 IGNvbnRpbnVlIHRvIGZhaWwuCgozLiBUbyBmaXggdGhlIGN1cnJlbnQgc2l0dWF0aW9uOgogICBJ bW1lZGlhdGVseSByZXZlcnQgY29tbWl0IChhbmQgcHJldmVudCBpdCBmcm9tIGJlaW5nIGJhY2tw b3J0ZWQpOgogICA3NTMzOTVlYTFlNDUgKCJBUk06IGR0czogaW14NzogRml4IE5BTkQgY29udHJv bGxlciBzaXplLWNlbGxzIikKICAgVGhpcyB3YXkgeW91ciBvd24gYm9vdCBmbG93IGlzIGZpeGVk IGluIHRoZSBzaG9ydCB0ZXJtLgoKNC4gVGhlcmUgaXMgbm8gcmVhc29uIHRvIHBhcnRpYWxseSBm aXggYSBEVCBsaWtlIHdoYXQgdGhlIGFib3ZlIGRpZAogICBiZXNpZGVzIHRyeWluZyB0byBhdm9p ZCB3YXJuaW5ncyBlbWl0dGVkIGJ5IHRoZSBEVCBjaGVjayB0b29scy4gSWYKICAgY29tcGx5aW5n IHdpdGggbW9kZXJuIGJpbmRpbmdzIGlzIGEgZ29hbCAoYW5kIEkgdGhpbmsgaXQgc2hvdWxkCiAg IGJlKSwgdGhlbiB3ZSBjYW4gbW9kZXJuaXplIHRoaXMgRFQgd2l0aG91dCBicmVha2luZyB0aGUg Ym9vdCBmbG93OgogICBJbnN0ZWFkIG9mIG9ubHkgc2V0dGluZyAjc2l6ZS1jZWxsID0gPDA+LCB5 b3UgY2FuIGFzIHdlbGwgZGVmaW5lCiAgIGluIHlvdXIgRFQgYSBzdWJub2RlIHRvIGRlZmluZSB0 aGUgTkFORCBjaGlwLiBOQU5EIGNoaXBzIGFyZSBub3QKICAgc3VwcG9zZWQgdG8gaGF2ZSAjc2l6 ZS1jZWxscyBwcm9wZXJ0aWVzLCBidXQgaW4gdGhlIHBhc3QgdGhleSBkaWQsCiAgIHdoaWNoIG1l YW5zICNhZGRyZXNzLWNlbGxzIGFuZCAjc2l6ZS1jZWxscyBhcmUgYWxsb3dlZCAoYW5kIG1hcmtl ZAogICBkZXByZWNhdGVkIGluIHRoZSBzY2hlbWEpLiBTbyBpbiBwcmFjdGljZSwgdGhlIGR0LXNj aGVtYSB3aWxsIG5vdAogICB3YXJuIHlvdSBpZiB0aGV5IGFyZSB0aGVyZSwgd2hpY2ggbWVhbnMg eW91IGNhbiBzdGlsbCBzZXQKICAgI3NpemUtY2VsbCA9IDwxPi4KCiAgIFBsZWFzZSBtaW5kLCB0 aGUgdG9vbHMgaGF2ZSBiZWVuIHVwZGF0ZWQgdmVyeSByZWNlbnRseSB0byBtYXRjaAogICB3aGF0 IEkgYW0gZGVzY3JpYmluZyBhYm92ZSwgc28gdGhleSB3aWxsIGxpa2VseSBzdGlsbCByZXBvcnQK ICAgZXJyb3JzIHVudGlsIHY2LjItcmMxLCBzZWU6CiAgIGh0dHBzOi8vbG9yZS5rZXJuZWwub3Jn L2xpbnV4LW10ZC8yMDIyMTExNDA5MDMxNS44NDgyMDgtMS1taXF1ZWwucmF5bmFsQGJvb3RsaW4u Y29tLwoKRG9lcyB0aGlzIHNvdW5kIHJlYXNvbmFibGU/CgpUaGFua3MsCk1pcXXDqGwKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eCBN VEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1tdGQvCg== 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0C938C4321E for ; Fri, 2 Dec 2022 14:06:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233632AbiLBOGS (ORCPT ); Fri, 2 Dec 2022 09:06:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38018 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233685AbiLBOGJ (ORCPT ); Fri, 2 Dec 2022 09:06:09 -0500 Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CB9F0D49E3 for ; Fri, 2 Dec 2022 06:06:03 -0800 (PST) Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 4AD82C000C; Fri, 2 Dec 2022 14:05:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1669989962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gZwPEMsk3iVcTfUXNdycqjkaeCLeKIl6lTS9C9qSpeY=; b=dJGlFM1SPaZ0j4uLBbGbxgKUblaYsQLr5YrT2BSK3A1nuo3y9JG9Q/5QhiMBjktFaO/s70 SoiD44DKRpmIDGgV7NIOG33BGza4c1Q4OfXl6yGiEAmmN3dSBAu5ddGqDEDOMLaK9JucmJ Xrh8f4GjrutJeQtwukF5d7YKQCvc96X+cx4lCApCm24h/UUrJIIY6EF1v5cfp8skADsJO1 Ev9y7UT7NV5qSGIxLk+tgjxj7gFSzcZMla/7nbB6n5eZFrul6PtOKoqTbSqly6lQEug62a 5THDLsB6zrFT5ZpKGStEumqdEyxb+kKiNBzHgUaeFI5SojQeXbQcJvb0Hyy6KQ== Date: Fri, 2 Dec 2022 15:05:56 +0100 From: Miquel Raynal To: Francesco Dolcini Cc: Richard Weinberger , Vignesh Raghavendra , linux-mtd@lists.infradead.org, Marek Vasut , Francesco Dolcini , Shawn Guo , linux-arm-kernel@lists.infradead.org, stable@vger.kernel.org, u-boot@lists.denx.de Subject: Re: [PATCH v1] mtd: parsers: ofpart: Fix parsing when size-cells is 0 Message-ID: <20221202150556.14c5ae43@xps-13> In-Reply-To: References: <20221202071900.1143950-1-francesco@dolcini.it> <20221202101418.6b4b3711@xps-13> <20221202115327.4475d3a2@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org Hi Francesco, francesco@dolcini.it wrote on Fri, 2 Dec 2022 12:23:37 +0100: > + u-boot list >=20 > On Fri, Dec 02, 2022 at 11:53:27AM +0100, Miquel Raynal wrote: > > francesco@dolcini.it wrote on Fri, 2 Dec 2022 11:24:29 +0100: =20 > > > On Fri, Dec 02, 2022 at 11:12:43AM +0100, Francesco Dolcini wrote: =20 > > > > On Fri, Dec 02, 2022 at 10:14:18AM +0100, Miquel Raynal wrote: =20 > > > > > francesco@dolcini.it wrote on Fri, 2 Dec 2022 08:19:00 +0100: = =20 > > > > > > From: Francesco Dolcini > > > > > >=20 > > > > > > Add a fallback mechanism to handle the case in which #size-cell= s is set > > > > > > to <0>. According to the DT binding the nand controller node sh= ould have > > > > > > set it to 0 and this is not compatible with the legacy way of > > > > > > specifying partitions directly as child nodes of the nand-contr= oller node. =20 > > > > >=20 > > > > > I understand the problem, I understand the fix, but I have to say= , I > > > > > strongly dislike it :) Touching an mtd core driver to fix a single > > > > > broken use case like that is... problematic, for the least. =20 > > > > I just noticed it 2 days after this patch was backported to a stable > > > > kernel, I am just the first one to notice, we are not talking about= a single > > > > use case. > > > > =20 > > > > > I am sorry but if a 6.0 kernel breaks because: =20 > > > > Not only kernel 6.0 is currently broken. This patch is going to be > > > > backported to any stable kernel given the fixes tag it has. > > > > =20 > > > > > If you really want to workaround U-Boot, either you revert that p= atch > > > > > or you just fix the DT description instead. The parent/child/part= itions > > > > > scheme has been enforced for maybe 5 years now and for a good rea= son: a > > > > > NAND controller with partitions does not make _any_ sense. There = are > > > > > plenty of examples out there, imx7-colibri.dtsi has received many > > > > > updates since its introduction (for the best), so why not this on= e? =20 > > > >=20 > > > > I can and I will update imx7-colibri.dtsi (patch coming), =20 > >=20 > > :thumb_up: > > =20 > > > > but is this > > > > good enough given the kind of boot failure regression this introduc= e? We > > > > are going to have old u-boot around that will not work with it, and= the =20 > > >=20 > > > Just another piece of information, support for the partitions node in > > > U-Boot was added in version v2022.04 [1], we are not talking about an= cient > > > old legacy stuff. =20 > >=20 > > If it is so recent, then this is what needs to be fixed, and it should > > not bother "many" people because 2022.04 is not so old. > >=20 > > So I am a bit lost, IIUC what is currently broken is: > > - U-Boot > 2022.04 and any version of Linux with the backport? > > =20 > > > If I add the partitions node as a child of my nand controller, as I w= as > > > planning to do and I wrote 10 lines above, I will create a new flavor= of > > > non-booting system with U-Boot older than v2022.04 :-/ =20 > >=20 > > I think there is a little confusion here. You are referring to the NAND= =20 > I guess I have not explained myself well enough :-) Ok, there is still a confusion. Even though I think your logic still applies, I want to emphasis on how wrong it is to define partitions in the NAND _controller_ node rather than the NAND _chip_ node. And I think this might have an impact on our final choice. > U-Boot is creating the partitions in the dtb, they are not defined in > the source dts file (this is common practice with multiple boards). That fdt_fixup_mtdparts() thing is a mistake. The original idea is: 1. Define wrong nodes in your DT 2. Fix your DT at run time in U-Boot 3. Provide the "fixed" DT to Linux Now step #2 now produces wrong FDT. So what, we should darken even more the of partition driver in Linux to workaround it? At most what we can do is warn the user so that people don't loose time understanding what happens, but I am against supporting this, ever. > Before v2022.04 it was always updating the nand-controller node, > starting from v2022.04 if there is a dedicated `partitions` node it uses > it. Sounds reasonable. > This is just the reverse of what ofpart_core.c is doing (if the > partitions node is there it assumes the partitions should go into it, > otherwise it proceeds with the legacy way). Yes, that's how we handle legacy bindings. > Let's have a concrete example with colibri-imx7. >=20 > Current status: > - The nand-controller node does not include any partitions child, any > U-Boot version will just add the partition directly as child of the > nand controller. This is where I am hitting this boot regression now. Not exactly. It worked until now because your original DT already included #size-cells =3D <1> I believe. It does not do that anymore and that is why you get your boot regression: because the DT was modified. The reason why the DT got modified however is interesting. The commit log says the goal is to comply with modern bindings, which is great. But if you break how your board boots, then you should probably not do that. And if we really care about complying with the bindings, there is something much more interesting than fixing a single property: distinguishing the NAND controller vs. the NAND chip(s), which has been enforced since 2016 (which probably predates the imx7-colibri.dtsi, but whatever): 2d472aba15ff ("mtd: nand: document the NAND controller/NAND chip DT represe= ntation") > Potential change I envisioned here: > - I add the partitions node to the nand-controller, e.g. >=20 > --- a/arch/arm/boot/dts/imx7-colibri.dtsi > +++ b/arch/arm/boot/dts/imx7-colibri.dtsi > @@ -380,6 +380,12 @@ &gpmi { > nand-on-flash-bbt; > pinctrl-names =3D "default"; > pinctrl-0 =3D <&pinctrl_gpmi_nand>; > + > + partitions { > + compatible =3D "fixed-partitions"; > + #address-cells =3D <1>; > + #size-cells =3D <1>; > + }; > }; >=20 > - U-Boot >=3D v2022.04 will just work fine creating the partitions as > currently described in the bindings. > - U-Boot < v2022.04 will still create the partitions as child of the > nand-controller node. Linux will see that a `partitions` node exists > but it will be empty, leading to a boot failure in case mtd is used > as boot device. >=20 >=20 > > controller node, the commit refers to the NAND chip node. What this > > commit does looks fine because it just tries to use the partitions {} > > node rather than the NAND chip node and if the partitions {} node > > already exist, I expect #address-cells and #size-cells to be defined > > and be !=3D 0 already. =20 > yes, this commit is perfectly fine I agree. >=20 > The reality is that people is using newer kernel with older U-Boot, and > I do not think that deliberately breaking this use case is what the > Linux kernel should do. Agreed. > I do not think that I can push a change in the DTS that will break > booting any board using an older U-Boot. That's however the initial cause of this discovery. A DT change broke your boot flow. I'm saying "your" boot flow because I am not sure it affects "any" board. For now it only affects the imx7 colibri boards because of: 753395ea1e45 ("ARM: dts: imx7: Fix NAND controller size-cells") But all these boards could be affected in the same way because of some machine code playing with fdt_fixup_mtdparts(): * arch/arm/mach-uniphier/fdt-fixup.c * board/compulab/cm_fx6/cm_fx6.c * board/gateworks/gw_ventana/gw_ventana.c * board/isee/igep003x/board.c * board/isee/igep00x0/igep00x0.c * board/phytec/phycore_am335x_r2/board.c * board/st/stm32mp1/stm32mp1.c * board/toradex/colibri-imx6ull/colibri-imx6ull.c * board/toradex/colibri_imx7/colibri_imx7.c * board/toradex/colibri_vf/colibri_vf.c That's of course way too much possible failures. I still strongly disagree with the initial proposal but what I think we can do is: 1. To prevent future breakages:=20 Fix fdt_fixup_mtdparts() in u-boot. This way newer U-Boot + any kernel should work. 2. To help tracking down situations like that: Keep the warning in ofpart.c but continue to fail. 3. To fix the current situation: Immediately revert commit (and prevent it from being backported): 753395ea1e45 ("ARM: dts: imx7: Fix NAND controller size-cells") This way your own boot flow is fixed in the short term. 4. There is no reason to partially fix a DT like what the above did besides trying to avoid warnings emitted by the DT check tools. If complying with modern bindings is a goal (and I think it should be), then we can modernize this DT without breaking the boot flow: Instead of only setting #size-cell =3D <0>, you can as well define in your DT a subnode to define the NAND chip. NAND chips are not supposed to have #size-cells properties, but in the past they did, which means #address-cells and #size-cells are allowed (and marked deprecated in the schema). So in practice, the dt-schema will not warn you if they are there, which means you can still set #size-cell =3D <1>. Please mind, the tools have been updated very recently to match what I am describing above, so they will likely still report errors until v6.2-rc1, see: https://lore.kernel.org/linux-mtd/20221114090315.848208-1-miquel.raynal@= bootlin.com/ Does this sound reasonable? Thanks, Miqu=C3=A8l 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 65D8EC4321E for ; Fri, 2 Dec 2022 14:07:20 +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:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=JWrrl/ZwjxcygMegRAphCBs0BqNNOsA7OlJ4x9+XxuM=; b=40bYOEwVpUFcm9 cxcVii+mMlt7LArSXhHg6m06wrGMGFP9CCU0P/jbfN3UQ9iyQCb+TF7r5WnGuQB0HxJwzjK9KvKZk Kfnj4FdlR6DGC/D5MYGIljCbaWmb4AwFnMrCareusFaI0ft9WgnUNRR+uivNR1kfhnVK3zDvKRer/ SgrXNWmLDNfBNdf89NLw61NMzl2llA7PVf5e8R5m8OXi9yeHoCAg4GMy53vOmABNS2g1mhmv91Nao BWfww7accvTwK7vJKpu5QdbGKfHGBZTI9yNjH127lRzXRK9ZLKoQ9pqgCjcR2RbqERuRtFtP8OkKb H3ix68LRR8AZOWM3PJHg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1p16gA-00GjvS-3N; Fri, 02 Dec 2022 14:06:14 +0000 Received: from relay6-d.mail.gandi.net ([2001:4b98:dc4:8::226]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1p16g5-00Gjtu-Nu; Fri, 02 Dec 2022 14:06:12 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 4AD82C000C; Fri, 2 Dec 2022 14:05:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1669989962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gZwPEMsk3iVcTfUXNdycqjkaeCLeKIl6lTS9C9qSpeY=; b=dJGlFM1SPaZ0j4uLBbGbxgKUblaYsQLr5YrT2BSK3A1nuo3y9JG9Q/5QhiMBjktFaO/s70 SoiD44DKRpmIDGgV7NIOG33BGza4c1Q4OfXl6yGiEAmmN3dSBAu5ddGqDEDOMLaK9JucmJ Xrh8f4GjrutJeQtwukF5d7YKQCvc96X+cx4lCApCm24h/UUrJIIY6EF1v5cfp8skADsJO1 Ev9y7UT7NV5qSGIxLk+tgjxj7gFSzcZMla/7nbB6n5eZFrul6PtOKoqTbSqly6lQEug62a 5THDLsB6zrFT5ZpKGStEumqdEyxb+kKiNBzHgUaeFI5SojQeXbQcJvb0Hyy6KQ== Date: Fri, 2 Dec 2022 15:05:56 +0100 From: Miquel Raynal To: Francesco Dolcini Cc: Richard Weinberger , Vignesh Raghavendra , linux-mtd@lists.infradead.org, Marek Vasut , Francesco Dolcini , Shawn Guo , linux-arm-kernel@lists.infradead.org, stable@vger.kernel.org, u-boot@lists.denx.de Subject: Re: [PATCH v1] mtd: parsers: ofpart: Fix parsing when size-cells is 0 Message-ID: <20221202150556.14c5ae43@xps-13> In-Reply-To: References: <20221202071900.1143950-1-francesco@dolcini.it> <20221202101418.6b4b3711@xps-13> <20221202115327.4475d3a2@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221202_060610_152407_33D47AA3 X-CRM114-Status: GOOD ( 65.52 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgRnJhbmNlc2NvLAoKZnJhbmNlc2NvQGRvbGNpbmkuaXQgd3JvdGUgb24gRnJpLCAyIERlYyAy MDIyIDEyOjIzOjM3ICswMTAwOgoKPiArIHUtYm9vdCBsaXN0Cj4gCj4gT24gRnJpLCBEZWMgMDIs IDIwMjIgYXQgMTE6NTM6MjdBTSArMDEwMCwgTWlxdWVsIFJheW5hbCB3cm90ZToKPiA+IGZyYW5j ZXNjb0Bkb2xjaW5pLml0IHdyb3RlIG9uIEZyaSwgMiBEZWMgMjAyMiAxMToyNDoyOSArMDEwMDog IAo+ID4gPiBPbiBGcmksIERlYyAwMiwgMjAyMiBhdCAxMToxMjo0M0FNICswMTAwLCBGcmFuY2Vz Y28gRG9sY2luaSB3cm90ZTogIAo+ID4gPiA+IE9uIEZyaSwgRGVjIDAyLCAyMDIyIGF0IDEwOjE0 OjE4QU0gKzAxMDAsIE1pcXVlbCBSYXluYWwgd3JvdGU6ICAgIAo+ID4gPiA+ID4gZnJhbmNlc2Nv QGRvbGNpbmkuaXQgd3JvdGUgb24gRnJpLCAgMiBEZWMgMjAyMiAwODoxOTowMCArMDEwMDogICAg Cj4gPiA+ID4gPiA+IEZyb206IEZyYW5jZXNjbyBEb2xjaW5pIDxmcmFuY2VzY28uZG9sY2luaUB0 b3JhZGV4LmNvbT4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEFkZCBhIGZhbGxiYWNrIG1lY2hh bmlzbSB0byBoYW5kbGUgdGhlIGNhc2UgaW4gd2hpY2ggI3NpemUtY2VsbHMgaXMgc2V0Cj4gPiA+ ID4gPiA+IHRvIDwwPi4gQWNjb3JkaW5nIHRvIHRoZSBEVCBiaW5kaW5nIHRoZSBuYW5kIGNvbnRy b2xsZXIgbm9kZSBzaG91bGQgaGF2ZQo+ID4gPiA+ID4gPiBzZXQgaXQgdG8gMCBhbmQgdGhpcyBp cyBub3QgY29tcGF0aWJsZSB3aXRoIHRoZSBsZWdhY3kgd2F5IG9mCj4gPiA+ID4gPiA+IHNwZWNp ZnlpbmcgcGFydGl0aW9ucyBkaXJlY3RseSBhcyBjaGlsZCBub2RlcyBvZiB0aGUgbmFuZC1jb250 cm9sbGVyIG5vZGUuICAgIAo+ID4gPiA+ID4gCj4gPiA+ID4gPiBJIHVuZGVyc3RhbmQgdGhlIHBy b2JsZW0sIEkgdW5kZXJzdGFuZCB0aGUgZml4LCBidXQgSSBoYXZlIHRvIHNheSwgSQo+ID4gPiA+ ID4gc3Ryb25nbHkgZGlzbGlrZSBpdCA6KSBUb3VjaGluZyBhbiBtdGQgY29yZSBkcml2ZXIgdG8g Zml4IGEgc2luZ2xlCj4gPiA+ID4gPiBicm9rZW4gdXNlIGNhc2UgbGlrZSB0aGF0IGlzLi4uIHBy b2JsZW1hdGljLCBmb3IgdGhlIGxlYXN0LiAgICAKPiA+ID4gPiBJIGp1c3Qgbm90aWNlZCBpdCAy IGRheXMgYWZ0ZXIgdGhpcyBwYXRjaCB3YXMgYmFja3BvcnRlZCB0byBhIHN0YWJsZQo+ID4gPiA+ IGtlcm5lbCwgSSBhbSBqdXN0IHRoZSBmaXJzdCBvbmUgdG8gbm90aWNlLCB3ZSBhcmUgbm90IHRh bGtpbmcgYWJvdXQgYSBzaW5nbGUKPiA+ID4gPiB1c2UgY2FzZS4KPiA+ID4gPiAgICAgCj4gPiA+ ID4gPiBJIGFtIHNvcnJ5IGJ1dCBpZiBhIDYuMCBrZXJuZWwgYnJlYWtzIGJlY2F1c2U6ICAgIAo+ ID4gPiA+IE5vdCBvbmx5IGtlcm5lbCA2LjAgaXMgY3VycmVudGx5IGJyb2tlbi4gVGhpcyBwYXRj aCBpcyBnb2luZyB0byBiZQo+ID4gPiA+IGJhY2twb3J0ZWQgdG8gYW55IHN0YWJsZSBrZXJuZWwg Z2l2ZW4gdGhlIGZpeGVzIHRhZyBpdCBoYXMuCj4gPiA+ID4gICAgIAo+ID4gPiA+ID4gSWYgeW91 IHJlYWxseSB3YW50IHRvIHdvcmthcm91bmQgVS1Cb290LCBlaXRoZXIgeW91IHJldmVydCB0aGF0 IHBhdGNoCj4gPiA+ID4gPiBvciB5b3UganVzdCBmaXggdGhlIERUIGRlc2NyaXB0aW9uIGluc3Rl YWQuIFRoZSBwYXJlbnQvY2hpbGQvcGFydGl0aW9ucwo+ID4gPiA+ID4gc2NoZW1lIGhhcyBiZWVu IGVuZm9yY2VkIGZvciBtYXliZSA1IHllYXJzIG5vdyBhbmQgZm9yIGEgZ29vZCByZWFzb246IGEK PiA+ID4gPiA+IE5BTkQgY29udHJvbGxlciB3aXRoIHBhcnRpdGlvbnMgZG9lcyBub3QgbWFrZSBf YW55XyBzZW5zZS4gVGhlcmUgYXJlCj4gPiA+ID4gPiBwbGVudHkgb2YgZXhhbXBsZXMgb3V0IHRo ZXJlLCBpbXg3LWNvbGlicmkuZHRzaSBoYXMgcmVjZWl2ZWQgbWFueQo+ID4gPiA+ID4gdXBkYXRl cyBzaW5jZSBpdHMgaW50cm9kdWN0aW9uIChmb3IgdGhlIGJlc3QpLCBzbyB3aHkgbm90IHRoaXMg b25lPyAgICAKPiA+ID4gPiAKPiA+ID4gPiBJIGNhbiBhbmQgSSB3aWxsIHVwZGF0ZSBpbXg3LWNv bGlicmkuZHRzaSAocGF0Y2ggY29taW5nKSwgIAo+ID4gCj4gPiA6dGh1bWJfdXA6Cj4gPiAgIAo+ ID4gPiA+IGJ1dCBpcyB0aGlzCj4gPiA+ID4gZ29vZCBlbm91Z2ggZ2l2ZW4gdGhlIGtpbmQgb2Yg Ym9vdCBmYWlsdXJlIHJlZ3Jlc3Npb24gdGhpcyBpbnRyb2R1Y2U/IFdlCj4gPiA+ID4gYXJlIGdv aW5nIHRvIGhhdmUgb2xkIHUtYm9vdCBhcm91bmQgdGhhdCB3aWxsIG5vdCB3b3JrIHdpdGggaXQs IGFuZCB0aGUgICAgCj4gPiA+IAo+ID4gPiBKdXN0IGFub3RoZXIgcGllY2Ugb2YgaW5mb3JtYXRp b24sIHN1cHBvcnQgZm9yIHRoZSBwYXJ0aXRpb25zIG5vZGUgaW4KPiA+ID4gVS1Cb290IHdhcyBh ZGRlZCBpbiB2ZXJzaW9uIHYyMDIyLjA0IFsxXSwgd2UgYXJlIG5vdCB0YWxraW5nIGFib3V0IGFu Y2llbnQKPiA+ID4gb2xkIGxlZ2FjeSBzdHVmZi4gIAo+ID4gCj4gPiBJZiBpdCBpcyBzbyByZWNl bnQsIHRoZW4gdGhpcyBpcyB3aGF0IG5lZWRzIHRvIGJlIGZpeGVkLCBhbmQgaXQgc2hvdWxkCj4g PiBub3QgYm90aGVyICJtYW55IiBwZW9wbGUgYmVjYXVzZSAyMDIyLjA0IGlzIG5vdCBzbyBvbGQu Cj4gPiAKPiA+IFNvIEkgYW0gYSBiaXQgbG9zdCwgSUlVQyB3aGF0IGlzIGN1cnJlbnRseSBicm9r ZW4gaXM6Cj4gPiAtIFUtQm9vdCA+IDIwMjIuMDQgYW5kIGFueSB2ZXJzaW9uIG9mIExpbnV4IHdp dGggdGhlIGJhY2twb3J0Pwo+ID4gICAKPiA+ID4gSWYgSSBhZGQgdGhlIHBhcnRpdGlvbnMgbm9k ZSBhcyBhIGNoaWxkIG9mIG15IG5hbmQgY29udHJvbGxlciwgYXMgSSB3YXMKPiA+ID4gcGxhbm5p bmcgdG8gZG8gYW5kIEkgd3JvdGUgMTAgbGluZXMgYWJvdmUsIEkgd2lsbCBjcmVhdGUgYSBuZXcg Zmxhdm9yIG9mCj4gPiA+IG5vbi1ib290aW5nIHN5c3RlbSB3aXRoIFUtQm9vdCBvbGRlciB0aGFu IHYyMDIyLjA0IDotLyAgCj4gPiAKPiA+IEkgdGhpbmsgdGhlcmUgaXMgYSBsaXR0bGUgY29uZnVz aW9uIGhlcmUuIFlvdSBhcmUgcmVmZXJyaW5nIHRvIHRoZSBOQU5EICAKPiBJIGd1ZXNzIEkgaGF2 ZSBub3QgZXhwbGFpbmVkIG15c2VsZiB3ZWxsIGVub3VnaCA6LSkKCk9rLCB0aGVyZSBpcyBzdGls bCBhIGNvbmZ1c2lvbi4gRXZlbiB0aG91Z2ggSSB0aGluayB5b3VyIGxvZ2ljIHN0aWxsCmFwcGxp ZXMsIEkgd2FudCB0byBlbXBoYXNpcyBvbiBob3cgd3JvbmcgaXQgaXMgdG8gZGVmaW5lIHBhcnRp dGlvbnMgaW4KdGhlIE5BTkQgX2NvbnRyb2xsZXJfIG5vZGUgcmF0aGVyIHRoYW4gdGhlIE5BTkQg X2NoaXBfIG5vZGUuIEFuZCBJCnRoaW5rIHRoaXMgbWlnaHQgaGF2ZSBhbiBpbXBhY3Qgb24gb3Vy IGZpbmFsIGNob2ljZS4KCj4gVS1Cb290IGlzIGNyZWF0aW5nIHRoZSBwYXJ0aXRpb25zIGluIHRo ZSBkdGIsIHRoZXkgYXJlIG5vdCBkZWZpbmVkIGluCj4gdGhlIHNvdXJjZSBkdHMgZmlsZSAodGhp cyBpcyBjb21tb24gcHJhY3RpY2Ugd2l0aCBtdWx0aXBsZSBib2FyZHMpLgoKVGhhdCBmZHRfZml4 dXBfbXRkcGFydHMoKSB0aGluZyBpcyBhIG1pc3Rha2UuIFRoZSBvcmlnaW5hbCBpZGVhIGlzOgoK MS4gRGVmaW5lIHdyb25nIG5vZGVzIGluIHlvdXIgRFQKMi4gRml4IHlvdXIgRFQgYXQgcnVuIHRp bWUgaW4gVS1Cb290CjMuIFByb3ZpZGUgdGhlICJmaXhlZCIgRFQgdG8gTGludXgKCk5vdyBzdGVw ICMyIG5vdyBwcm9kdWNlcyB3cm9uZyBGRFQuIFNvIHdoYXQsIHdlIHNob3VsZCBkYXJrZW4gZXZl bgptb3JlIHRoZSBvZiBwYXJ0aXRpb24gZHJpdmVyIGluIExpbnV4IHRvIHdvcmthcm91bmQgaXQ/ IEF0IG1vc3Qgd2hhdCB3ZQpjYW4gZG8gaXMgd2FybiB0aGUgdXNlciBzbyB0aGF0IHBlb3BsZSBk b24ndCBsb29zZSB0aW1lIHVuZGVyc3RhbmRpbmcKd2hhdCBoYXBwZW5zLCBidXQgSSBhbSBhZ2Fp bnN0IHN1cHBvcnRpbmcgdGhpcywgZXZlci4KCj4gQmVmb3JlIHYyMDIyLjA0IGl0IHdhcyBhbHdh eXMgdXBkYXRpbmcgdGhlIG5hbmQtY29udHJvbGxlciBub2RlLAo+IHN0YXJ0aW5nIGZyb20gdjIw MjIuMDQgaWYgdGhlcmUgaXMgYSBkZWRpY2F0ZWQgYHBhcnRpdGlvbnNgIG5vZGUgaXQgdXNlcwo+ IGl0LgoKU291bmRzIHJlYXNvbmFibGUuCgo+IFRoaXMgaXMganVzdCB0aGUgcmV2ZXJzZSBvZiB3 aGF0IG9mcGFydF9jb3JlLmMgaXMgZG9pbmcgKGlmIHRoZQo+IHBhcnRpdGlvbnMgbm9kZSBpcyB0 aGVyZSBpdCBhc3N1bWVzIHRoZSBwYXJ0aXRpb25zIHNob3VsZCBnbyBpbnRvIGl0LAo+IG90aGVy d2lzZSBpdCBwcm9jZWVkcyB3aXRoIHRoZSBsZWdhY3kgd2F5KS4KClllcywgdGhhdCdzIGhvdyB3 ZSBoYW5kbGUgbGVnYWN5IGJpbmRpbmdzLgoKPiBMZXQncyBoYXZlIGEgY29uY3JldGUgZXhhbXBs ZSB3aXRoIGNvbGlicmktaW14Ny4KPiAKPiBDdXJyZW50IHN0YXR1czoKPiAgLSBUaGUgbmFuZC1j b250cm9sbGVyIG5vZGUgZG9lcyBub3QgaW5jbHVkZSBhbnkgcGFydGl0aW9ucyBjaGlsZCwgYW55 Cj4gICAgVS1Cb290IHZlcnNpb24gd2lsbCBqdXN0IGFkZCB0aGUgcGFydGl0aW9uIGRpcmVjdGx5 IGFzIGNoaWxkIG9mIHRoZQo+ICAgIG5hbmQgY29udHJvbGxlci4gVGhpcyBpcyB3aGVyZSBJIGFt IGhpdHRpbmcgdGhpcyBib290IHJlZ3Jlc3Npb24gbm93LgoKTm90IGV4YWN0bHkuIEl0IHdvcmtl ZCB1bnRpbCBub3cgYmVjYXVzZSB5b3VyIG9yaWdpbmFsIERUIGFscmVhZHkKaW5jbHVkZWQgI3Np emUtY2VsbHMgPSA8MT4gSSBiZWxpZXZlLiBJdCBkb2VzIG5vdCBkbyB0aGF0IGFueW1vcmUgYW5k CnRoYXQgaXMgd2h5IHlvdSBnZXQgeW91ciBib290IHJlZ3Jlc3Npb246IGJlY2F1c2UgdGhlIERU IHdhcyBtb2RpZmllZC4KClRoZSByZWFzb24gd2h5IHRoZSBEVCBnb3QgbW9kaWZpZWQgaG93ZXZl ciBpcyBpbnRlcmVzdGluZy4gVGhlIGNvbW1pdApsb2cgc2F5cyB0aGUgZ29hbCBpcyB0byBjb21w bHkgd2l0aCBtb2Rlcm4gYmluZGluZ3MsIHdoaWNoIGlzIGdyZWF0LgpCdXQgaWYgeW91IGJyZWFr IGhvdyB5b3VyIGJvYXJkIGJvb3RzLCB0aGVuIHlvdSBzaG91bGQgcHJvYmFibHkgbm90IGRvCnRo YXQuIEFuZCBpZiB3ZSByZWFsbHkgY2FyZSBhYm91dCBjb21wbHlpbmcgd2l0aCB0aGUgYmluZGlu Z3MsIHRoZXJlCmlzIHNvbWV0aGluZyBtdWNoIG1vcmUgaW50ZXJlc3RpbmcgdGhhbiBmaXhpbmcg YSBzaW5nbGUgcHJvcGVydHk6CmRpc3Rpbmd1aXNoaW5nIHRoZSBOQU5EIGNvbnRyb2xsZXIgdnMu IHRoZSBOQU5EIGNoaXAocyksIHdoaWNoIGhhcyBiZWVuCmVuZm9yY2VkIHNpbmNlIDIwMTYgKHdo aWNoIHByb2JhYmx5IHByZWRhdGVzIHRoZSBpbXg3LWNvbGlicmkuZHRzaSwgYnV0CndoYXRldmVy KToKMmQ0NzJhYmExNWZmICgibXRkOiBuYW5kOiBkb2N1bWVudCB0aGUgTkFORCBjb250cm9sbGVy L05BTkQgY2hpcCBEVCByZXByZXNlbnRhdGlvbiIpCgo+IFBvdGVudGlhbCBjaGFuZ2UgSSBlbnZp c2lvbmVkIGhlcmU6Cj4gIC0gSSBhZGQgdGhlIHBhcnRpdGlvbnMgbm9kZSB0byB0aGUgbmFuZC1j b250cm9sbGVyLCBlLmcuCj4gCj4gLS0tIGEvYXJjaC9hcm0vYm9vdC9kdHMvaW14Ny1jb2xpYnJp LmR0c2kKPiArKysgYi9hcmNoL2FybS9ib290L2R0cy9pbXg3LWNvbGlicmkuZHRzaQo+IEBAIC0z ODAsNiArMzgwLDEyIEBAICZncG1pIHsKPiAgICAgICAgIG5hbmQtb24tZmxhc2gtYmJ0Owo+ICAg ICAgICAgcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiAgICAgICAgIHBpbmN0cmwtMCA9IDwm cGluY3RybF9ncG1pX25hbmQ+Owo+ICsKPiArICAgICAgIHBhcnRpdGlvbnMgewo+ICsgICAgICAg ICAgICAgICBjb21wYXRpYmxlID0gImZpeGVkLXBhcnRpdGlvbnMiOwo+ICsgICAgICAgICAgICAg ICAjYWRkcmVzcy1jZWxscyA9IDwxPjsKPiArICAgICAgICAgICAgICAgI3NpemUtY2VsbHMgPSA8 MT47Cj4gKyAgICAgICB9Owo+ICB9Owo+IAo+ICAtIFUtQm9vdCA+PSB2MjAyMi4wNCB3aWxsIGp1 c3Qgd29yayBmaW5lIGNyZWF0aW5nIHRoZSBwYXJ0aXRpb25zIGFzCj4gICAgY3VycmVudGx5IGRl c2NyaWJlZCBpbiB0aGUgYmluZGluZ3MuCj4gIC0gVS1Cb290IDwgdjIwMjIuMDQgd2lsbCBzdGls bCBjcmVhdGUgdGhlIHBhcnRpdGlvbnMgYXMgY2hpbGQgb2YgdGhlCj4gICAgbmFuZC1jb250cm9s bGVyIG5vZGUuIExpbnV4IHdpbGwgc2VlIHRoYXQgYSBgcGFydGl0aW9uc2Agbm9kZSBleGlzdHMK PiAgICBidXQgaXQgd2lsbCBiZSBlbXB0eSwgbGVhZGluZyB0byBhIGJvb3QgZmFpbHVyZSBpbiBj YXNlIG10ZCBpcyB1c2VkCj4gICAgYXMgYm9vdCBkZXZpY2UuCj4gCj4gCj4gPiBjb250cm9sbGVy IG5vZGUsIHRoZSBjb21taXQgcmVmZXJzIHRvIHRoZSBOQU5EIGNoaXAgbm9kZS4gV2hhdCB0aGlz Cj4gPiBjb21taXQgZG9lcyBsb29rcyBmaW5lIGJlY2F1c2UgaXQganVzdCB0cmllcyB0byB1c2Ug dGhlIHBhcnRpdGlvbnMge30KPiA+IG5vZGUgcmF0aGVyIHRoYW4gdGhlIE5BTkQgY2hpcCBub2Rl IGFuZCBpZiB0aGUgcGFydGl0aW9ucyB7fSBub2RlCj4gPiBhbHJlYWR5IGV4aXN0LCBJIGV4cGVj dCAjYWRkcmVzcy1jZWxscyBhbmQgI3NpemUtY2VsbHMgdG8gYmUgZGVmaW5lZAo+ID4gYW5kIGJl ICE9IDAgYWxyZWFkeS4gIAo+IHllcywgdGhpcyBjb21taXQgaXMgcGVyZmVjdGx5IGZpbmUgSSBh Z3JlZS4KPiAKPiBUaGUgcmVhbGl0eSBpcyB0aGF0IHBlb3BsZSBpcyB1c2luZyBuZXdlciBrZXJu ZWwgd2l0aCBvbGRlciBVLUJvb3QsIGFuZAo+IEkgZG8gbm90IHRoaW5rIHRoYXQgZGVsaWJlcmF0 ZWx5IGJyZWFraW5nIHRoaXMgdXNlIGNhc2UgaXMgd2hhdCB0aGUKPiBMaW51eCBrZXJuZWwgc2hv dWxkIGRvLgoKQWdyZWVkLgoKPiBJIGRvIG5vdCB0aGluayB0aGF0IEkgY2FuIHB1c2ggYSBjaGFu Z2UgaW4gdGhlIERUUyB0aGF0IHdpbGwgYnJlYWsKPiBib290aW5nIGFueSBib2FyZCB1c2luZyBh biBvbGRlciBVLUJvb3QuCgpUaGF0J3MgaG93ZXZlciB0aGUgaW5pdGlhbCBjYXVzZSBvZiB0aGlz IGRpc2NvdmVyeS4gQSBEVCBjaGFuZ2UgYnJva2UKeW91ciBib290IGZsb3cuIEknbSBzYXlpbmcg InlvdXIiIGJvb3QgZmxvdyBiZWNhdXNlIEkgYW0gbm90IHN1cmUgaXQKYWZmZWN0cyAiYW55IiBi b2FyZC4KCkZvciBub3cgaXQgb25seSBhZmZlY3RzIHRoZSBpbXg3IGNvbGlicmkgYm9hcmRzIGJl Y2F1c2Ugb2Y6Cjc1MzM5NWVhMWU0NSAoIkFSTTogZHRzOiBpbXg3OiBGaXggTkFORCBjb250cm9s bGVyIHNpemUtY2VsbHMiKQoKQnV0IGFsbCB0aGVzZSBib2FyZHMgY291bGQgYmUgYWZmZWN0ZWQg aW4gdGhlIHNhbWUgd2F5IGJlY2F1c2Ugb2Ygc29tZQptYWNoaW5lIGNvZGUgcGxheWluZyB3aXRo IGZkdF9maXh1cF9tdGRwYXJ0cygpOgoqIGFyY2gvYXJtL21hY2gtdW5pcGhpZXIvZmR0LWZpeHVw LmMKKiBib2FyZC9jb21wdWxhYi9jbV9meDYvY21fZng2LmMKKiBib2FyZC9nYXRld29ya3MvZ3df dmVudGFuYS9nd192ZW50YW5hLmMKKiBib2FyZC9pc2VlL2lnZXAwMDN4L2JvYXJkLmMKKiBib2Fy ZC9pc2VlL2lnZXAwMHgwL2lnZXAwMHgwLmMKKiBib2FyZC9waHl0ZWMvcGh5Y29yZV9hbTMzNXhf cjIvYm9hcmQuYwoqIGJvYXJkL3N0L3N0bTMybXAxL3N0bTMybXAxLmMKKiBib2FyZC90b3JhZGV4 L2NvbGlicmktaW14NnVsbC9jb2xpYnJpLWlteDZ1bGwuYwoqIGJvYXJkL3RvcmFkZXgvY29saWJy aV9pbXg3L2NvbGlicmlfaW14Ny5jCiogYm9hcmQvdG9yYWRleC9jb2xpYnJpX3ZmL2NvbGlicmlf dmYuYwpUaGF0J3Mgb2YgY291cnNlIHdheSB0b28gbXVjaCBwb3NzaWJsZSBmYWlsdXJlcy4KCkkg c3RpbGwgc3Ryb25nbHkgZGlzYWdyZWUgd2l0aCB0aGUgaW5pdGlhbCBwcm9wb3NhbCBidXQgd2hh dCBJIHRoaW5rIHdlCmNhbiBkbyBpczoKCjEuIFRvIHByZXZlbnQgZnV0dXJlIGJyZWFrYWdlczog CiAgRml4IGZkdF9maXh1cF9tdGRwYXJ0cygpIGluIHUtYm9vdC4gVGhpcyB3YXkgbmV3ZXIgVS1C b290ICsgYW55CiAga2VybmVsIHNob3VsZCB3b3JrLgoKMi4gVG8gaGVscCB0cmFja2luZyBkb3du IHNpdHVhdGlvbnMgbGlrZSB0aGF0OgogIEtlZXAgdGhlIHdhcm5pbmcgaW4gb2ZwYXJ0LmMgYnV0 IGNvbnRpbnVlIHRvIGZhaWwuCgozLiBUbyBmaXggdGhlIGN1cnJlbnQgc2l0dWF0aW9uOgogICBJ bW1lZGlhdGVseSByZXZlcnQgY29tbWl0IChhbmQgcHJldmVudCBpdCBmcm9tIGJlaW5nIGJhY2tw b3J0ZWQpOgogICA3NTMzOTVlYTFlNDUgKCJBUk06IGR0czogaW14NzogRml4IE5BTkQgY29udHJv bGxlciBzaXplLWNlbGxzIikKICAgVGhpcyB3YXkgeW91ciBvd24gYm9vdCBmbG93IGlzIGZpeGVk IGluIHRoZSBzaG9ydCB0ZXJtLgoKNC4gVGhlcmUgaXMgbm8gcmVhc29uIHRvIHBhcnRpYWxseSBm aXggYSBEVCBsaWtlIHdoYXQgdGhlIGFib3ZlIGRpZAogICBiZXNpZGVzIHRyeWluZyB0byBhdm9p ZCB3YXJuaW5ncyBlbWl0dGVkIGJ5IHRoZSBEVCBjaGVjayB0b29scy4gSWYKICAgY29tcGx5aW5n IHdpdGggbW9kZXJuIGJpbmRpbmdzIGlzIGEgZ29hbCAoYW5kIEkgdGhpbmsgaXQgc2hvdWxkCiAg IGJlKSwgdGhlbiB3ZSBjYW4gbW9kZXJuaXplIHRoaXMgRFQgd2l0aG91dCBicmVha2luZyB0aGUg Ym9vdCBmbG93OgogICBJbnN0ZWFkIG9mIG9ubHkgc2V0dGluZyAjc2l6ZS1jZWxsID0gPDA+LCB5 b3UgY2FuIGFzIHdlbGwgZGVmaW5lCiAgIGluIHlvdXIgRFQgYSBzdWJub2RlIHRvIGRlZmluZSB0 aGUgTkFORCBjaGlwLiBOQU5EIGNoaXBzIGFyZSBub3QKICAgc3VwcG9zZWQgdG8gaGF2ZSAjc2l6 ZS1jZWxscyBwcm9wZXJ0aWVzLCBidXQgaW4gdGhlIHBhc3QgdGhleSBkaWQsCiAgIHdoaWNoIG1l YW5zICNhZGRyZXNzLWNlbGxzIGFuZCAjc2l6ZS1jZWxscyBhcmUgYWxsb3dlZCAoYW5kIG1hcmtl ZAogICBkZXByZWNhdGVkIGluIHRoZSBzY2hlbWEpLiBTbyBpbiBwcmFjdGljZSwgdGhlIGR0LXNj aGVtYSB3aWxsIG5vdAogICB3YXJuIHlvdSBpZiB0aGV5IGFyZSB0aGVyZSwgd2hpY2ggbWVhbnMg eW91IGNhbiBzdGlsbCBzZXQKICAgI3NpemUtY2VsbCA9IDwxPi4KCiAgIFBsZWFzZSBtaW5kLCB0 aGUgdG9vbHMgaGF2ZSBiZWVuIHVwZGF0ZWQgdmVyeSByZWNlbnRseSB0byBtYXRjaAogICB3aGF0 IEkgYW0gZGVzY3JpYmluZyBhYm92ZSwgc28gdGhleSB3aWxsIGxpa2VseSBzdGlsbCByZXBvcnQK ICAgZXJyb3JzIHVudGlsIHY2LjItcmMxLCBzZWU6CiAgIGh0dHBzOi8vbG9yZS5rZXJuZWwub3Jn L2xpbnV4LW10ZC8yMDIyMTExNDA5MDMxNS44NDgyMDgtMS1taXF1ZWwucmF5bmFsQGJvb3RsaW4u Y29tLwoKRG9lcyB0aGlzIHNvdW5kIHJlYXNvbmFibGU/CgpUaGFua3MsCk1pcXXDqGwKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK