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=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=ham 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 18621C54E4B for ; Tue, 12 May 2020 07:35:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id F09D42075E for ; Tue, 12 May 2020 07:35:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729182AbgELHfB convert rfc822-to-8bit (ORCPT ); Tue, 12 May 2020 03:35:01 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:16017 "EHLO relay1-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729166AbgELHe6 (ORCPT ); Tue, 12 May 2020 03:34:58 -0400 X-Originating-IP: 91.224.148.103 Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 89D90240013; Tue, 12 May 2020 07:34:52 +0000 (UTC) Date: Tue, 12 May 2020 09:34:51 +0200 From: Miquel Raynal To: =?UTF-8?B?w4FsdmFybyBGZXJuw6FuZGV6?= Rojas Cc: computersforpeace@gmail.com, kdasu.kdev@gmail.com, richard@nod.at, vigneshr@ti.com, sumit.semwal@linaro.org, linux-mtd@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org Subject: Re: [PATCH v3] mtd: rawnand: brcmnand: correctly verify erased pages Message-ID: <20200512093451.4cde5384@xps13> In-Reply-To: <50E32C0E-7485-4180-A072-F7F1CFB45B06@gmail.com> References: <20200505082055.2843847-1-noltari@gmail.com> <20200512065111.716801-1-noltari@gmail.com> <20200512091637.198dd0c2@xps13> <50E32C0E-7485-4180-A072-F7F1CFB45B06@gmail.com> Organization: Bootlin X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Álvaro, Álvaro Fernández Rojas wrote on Tue, 12 May 2020 09:24:32 +0200: > Hi Miquèl > > > El 12 may 2020, a las 9:16, Miquel Raynal escribió: > > > > Hi Álvaro, > > > > Álvaro Fernández Rojas wrote on Tue, 12 May 2020 > > 08:51:11 +0200: > > > >> The current code checks that the whole OOB area is erased. > >> This is a problem when JFFS2 cleanmarkers are added to the OOB, since it will > >> fail due to the usable OOB bytes not being 0xff. > >> Correct this by only checking that data and ECC bytes aren't 0xff. > >> > >> Fixes: 02b88eea9f9c ("mtd: brcmnand: Add check for erased page bitflips") > >> Signed-off-by: Álvaro Fernández Rojas > >> --- > >> v3: Fix commit log and merge nand_check_erased_ecc_chunk calls. > >> v2: Add Fixes tag > >> > >> drivers/mtd/nand/raw/brcmnand/brcmnand.c | 19 ++++++++++++++----- > >> 1 file changed, 14 insertions(+), 5 deletions(-) > >> > >> diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > >> index e4e3ceeac38f..80fe01f03516 100644 > >> --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c > >> +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > >> @@ -2018,8 +2018,9 @@ static int brcmnand_read_by_pio(struct mtd_info *mtd, struct nand_chip *chip, > >> static int brcmstb_nand_verify_erased_page(struct mtd_info *mtd, > >> struct nand_chip *chip, void *buf, u64 addr) > >> { > >> + struct mtd_oob_region oobecc; > >> int i, sas; > >> - void *oob = chip->oob_poi; > >> + void *oob; > >> int bitflips = 0; > >> int page = addr >> chip->page_shift; > >> int ret; > >> @@ -2035,11 +2036,19 @@ static int brcmstb_nand_verify_erased_page(struct mtd_info *mtd, > >> if (ret) > >> return ret; > >> > >> - for (i = 0; i < chip->ecc.steps; i++, oob += sas) { > >> + for (i = 0; i < chip->ecc.steps; i++) { > >> ecc_chunk = buf + chip->ecc.size * i; > >> - ret = nand_check_erased_ecc_chunk(ecc_chunk, > >> - chip->ecc.size, > >> - oob, sas, NULL, 0, > >> + > >> + if (mtd->ooblayout->ecc(mtd, i, &oobecc)) { > > > > Please use the mtdcore.c's helpers > > (mtd_ooblayout_set/get_data/free/ecc/bytes). > > > > Also, what are you trying to discriminate with the return code of the > > function? Shouldn't this function "always" work? > > Just making sure it doesn’t return an ERANGE in case chip->ecc.size doesn’t match the sections from mtd->ooblayout->ecc, which shouldn’t happen, so I think we can remove that... The style we prefer for error checking is: ret = function(); if (ret) do someting; instead of: if (function()) Anyway, I really don't know if it can happen or not. I suppose it does. What I don't understand is your "oob = chip->oob_poi + oobecc.offset". If you expect an error, then you should not update this pointer, right? Don't you need to use 2 * i instead of i here? Following your other contribution, sections are distributed like "data/ecc/data/ecc/etc". > > > > >> + oob = NULL; > >> + oobecc.length = 0; > >> + } else { > >> + oob = chip->oob_poi + oobecc.offset; > >> + } > >> + > >> + ret = nand_check_erased_ecc_chunk(ecc_chunk, chip->ecc.size, > >> + oob, oobecc.length, > >> + NULL, 0, > >> chip->ecc.strength); > > > > As I told you, this helper takes "maid data" then "spare area" then > > "ecc bytes". The names are pretty important here as you want to avoid > > checking the spare OOB bytes on purpose, so maybe you could have more > > meaningful names and call "ecc" instead of "oob" the ecc region? > > Actually I thought you meant the commit log, not the code itself... No problem ;) I meant both actually, And I think you should name the oob pointer ecc_bytes. > > > > >> if (ret < 0) > >> return ret; > > > > > > Thanks, > > Miquèl > > Regards, > Álvaro. > Thanks, Miquèl 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=-8.4 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=ham 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 AA7B8C54E4B for ; Tue, 12 May 2020 07:36:38 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 7A6C220733 for ; Tue, 12 May 2020 07:36:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="j64OPUjJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7A6C220733 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-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject: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=jpS4qF4ODjjSENXxLpj1ZCHfckkFPZJLsKc4nQiAdmw=; b=j64OPUjJq8RmH9 nfy+XueGAaHGtHKpp0iUnuqggMCq4rVyb2faPUD1HQlOHd0tEel3cHggwW1iBKT6HHxBX94cyTpid fltlK58PXsLtJEEnri9iGppGbqF1I8hekatTGx0nSRMy9yrvRxTd7CfP4CENlHhRVQDODUtqJtRFm b5VTTJWNugyf7L451XeSJAfLFdG9PYPyGhSrYpliso8ScRHSFUiXWI58m7sMuubCUgIJfOxQS0cCh TPTr/cO+71cz7+apM7brIWMIdatv9Kjm7udQU859X5qU8bM7r+8Q5gN9/DWmtZsHMKGLu4Sd6QiK7 CxxUa7NC6j3D7VicpS/Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jYPSn-0001Uk-K3; Tue, 12 May 2020 07:36:29 +0000 Received: from relay1-d.mail.gandi.net ([217.70.183.193]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jYPRL-000689-VE for linux-mtd@lists.infradead.org; Tue, 12 May 2020 07:35:04 +0000 X-Originating-IP: 91.224.148.103 Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 89D90240013; Tue, 12 May 2020 07:34:52 +0000 (UTC) Date: Tue, 12 May 2020 09:34:51 +0200 From: Miquel Raynal To: =?UTF-8?B?w4FsdmFybyBGZXJuw6FuZGV6?= Rojas Subject: Re: [PATCH v3] mtd: rawnand: brcmnand: correctly verify erased pages Message-ID: <20200512093451.4cde5384@xps13> In-Reply-To: <50E32C0E-7485-4180-A072-F7F1CFB45B06@gmail.com> References: <20200505082055.2843847-1-noltari@gmail.com> <20200512065111.716801-1-noltari@gmail.com> <20200512091637.198dd0c2@xps13> <50E32C0E-7485-4180-A072-F7F1CFB45B06@gmail.com> Organization: Bootlin X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; 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-20200512_003500_439215_2233E1B9 X-CRM114-Status: GOOD ( 20.72 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: vigneshr@ti.com, kdasu.kdev@gmail.com, richard@nod.at, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, linux-mtd@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, computersforpeace@gmail.com, sumit.semwal@linaro.org, linux-media@vger.kernel.org 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 SGkgw4FsdmFybywKCsOBbHZhcm8gRmVybsOhbmRleiBSb2phcyA8bm9sdGFyaUBnbWFpbC5jb20+ IHdyb3RlIG9uIFR1ZSwgMTIgTWF5IDIwMjAKMDk6MjQ6MzIgKzAyMDA6Cgo+IEhpIE1pcXXDqGwK PiAKPiA+IEVsIDEyIG1heSAyMDIwLCBhIGxhcyA5OjE2LCBNaXF1ZWwgUmF5bmFsIDxtaXF1ZWwu cmF5bmFsQGJvb3RsaW4uY29tPiBlc2NyaWJpw7M6Cj4gPiAKPiA+IEhpIMOBbHZhcm8sCj4gPiAK PiA+IMOBbHZhcm8gRmVybsOhbmRleiBSb2phcyA8bm9sdGFyaUBnbWFpbC5jb20+IHdyb3RlIG9u IFR1ZSwgMTIgTWF5IDIwMjAKPiA+IDA4OjUxOjExICswMjAwOgo+ID4gICAKPiA+PiBUaGUgY3Vy cmVudCBjb2RlIGNoZWNrcyB0aGF0IHRoZSB3aG9sZSBPT0IgYXJlYSBpcyBlcmFzZWQuCj4gPj4g VGhpcyBpcyBhIHByb2JsZW0gd2hlbiBKRkZTMiBjbGVhbm1hcmtlcnMgYXJlIGFkZGVkIHRvIHRo ZSBPT0IsIHNpbmNlIGl0IHdpbGwKPiA+PiBmYWlsIGR1ZSB0byB0aGUgdXNhYmxlIE9PQiBieXRl cyBub3QgYmVpbmcgMHhmZi4KPiA+PiBDb3JyZWN0IHRoaXMgYnkgb25seSBjaGVja2luZyB0aGF0 IGRhdGEgYW5kIEVDQyBieXRlcyBhcmVuJ3QgMHhmZi4KPiA+PiAKPiA+PiBGaXhlczogMDJiODhl ZWE5ZjljICgibXRkOiBicmNtbmFuZDogQWRkIGNoZWNrIGZvciBlcmFzZWQgcGFnZSBiaXRmbGlw cyIpCj4gPj4gU2lnbmVkLW9mZi1ieTogw4FsdmFybyBGZXJuw6FuZGV6IFJvamFzIDxub2x0YXJp QGdtYWlsLmNvbT4KPiA+PiAtLS0KPiA+PiB2MzogRml4IGNvbW1pdCBsb2cgYW5kIG1lcmdlIG5h bmRfY2hlY2tfZXJhc2VkX2VjY19jaHVuayBjYWxscy4KPiA+PiB2MjogQWRkIEZpeGVzIHRhZwo+ ID4+IAo+ID4+IGRyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMgfCAxOSAr KysrKysrKysrKysrKy0tLS0tCj4gPj4gMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyks IDUgZGVsZXRpb25zKC0pCj4gPj4gCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQv cmF3L2JyY21uYW5kL2JyY21uYW5kLmMgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9icmNtbmFuZC9i cmNtbmFuZC5jCj4gPj4gaW5kZXggZTRlM2NlZWFjMzhmLi44MGZlMDFmMDM1MTYgMTAwNjQ0Cj4g Pj4gLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYwo+ID4+ICsr KyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMKPiA+PiBAQCAtMjAx OCw4ICsyMDE4LDkgQEAgc3RhdGljIGludCBicmNtbmFuZF9yZWFkX2J5X3BpbyhzdHJ1Y3QgbXRk X2luZm8gKm10ZCwgc3RydWN0IG5hbmRfY2hpcCAqY2hpcCwKPiA+PiBzdGF0aWMgaW50IGJyY21z dGJfbmFuZF92ZXJpZnlfZXJhc2VkX3BhZ2Uoc3RydWN0IG10ZF9pbmZvICptdGQsCj4gPj4gCQkg IHN0cnVjdCBuYW5kX2NoaXAgKmNoaXAsIHZvaWQgKmJ1ZiwgdTY0IGFkZHIpCj4gPj4gewo+ID4+ ICsJc3RydWN0IG10ZF9vb2JfcmVnaW9uIG9vYmVjYzsKPiA+PiAJaW50IGksIHNhczsKPiA+PiAt CXZvaWQgKm9vYiA9IGNoaXAtPm9vYl9wb2k7Cj4gPj4gKwl2b2lkICpvb2I7Cj4gPj4gCWludCBi aXRmbGlwcyA9IDA7Cj4gPj4gCWludCBwYWdlID0gYWRkciA+PiBjaGlwLT5wYWdlX3NoaWZ0Owo+ ID4+IAlpbnQgcmV0Owo+ID4+IEBAIC0yMDM1LDExICsyMDM2LDE5IEBAIHN0YXRpYyBpbnQgYnJj bXN0Yl9uYW5kX3ZlcmlmeV9lcmFzZWRfcGFnZShzdHJ1Y3QgbXRkX2luZm8gKm10ZCwKPiA+PiAJ aWYgKHJldCkKPiA+PiAJCXJldHVybiByZXQ7Cj4gPj4gCj4gPj4gLQlmb3IgKGkgPSAwOyBpIDwg Y2hpcC0+ZWNjLnN0ZXBzOyBpKyssIG9vYiArPSBzYXMpIHsKPiA+PiArCWZvciAoaSA9IDA7IGkg PCBjaGlwLT5lY2Muc3RlcHM7IGkrKykgewo+ID4+IAkJZWNjX2NodW5rID0gYnVmICsgY2hpcC0+ ZWNjLnNpemUgKiBpOwo+ID4+IC0JCXJldCA9IG5hbmRfY2hlY2tfZXJhc2VkX2VjY19jaHVuayhl Y2NfY2h1bmssCj4gPj4gLQkJCQkJCSAgY2hpcC0+ZWNjLnNpemUsCj4gPj4gLQkJCQkJCSAgb29i LCBzYXMsIE5VTEwsIDAsCj4gPj4gKwo+ID4+ICsJCWlmIChtdGQtPm9vYmxheW91dC0+ZWNjKG10 ZCwgaSwgJm9vYmVjYykpIHsgIAo+ID4gCj4gPiBQbGVhc2UgdXNlIHRoZSBtdGRjb3JlLmMncyBo ZWxwZXJzCj4gPiAobXRkX29vYmxheW91dF9zZXQvZ2V0X2RhdGEvZnJlZS9lY2MvYnl0ZXMpLgo+ ID4gCj4gPiBBbHNvLCB3aGF0IGFyZSB5b3UgdHJ5aW5nIHRvIGRpc2NyaW1pbmF0ZSB3aXRoIHRo ZSByZXR1cm4gY29kZSBvZiB0aGUKPiA+IGZ1bmN0aW9uPyBTaG91bGRuJ3QgdGhpcyBmdW5jdGlv biAiYWx3YXlzIiB3b3JrPyAgCj4gCj4gSnVzdCBtYWtpbmcgc3VyZSBpdCBkb2VzbuKAmXQgcmV0 dXJuIGFuIEVSQU5HRSBpbiBjYXNlIGNoaXAtPmVjYy5zaXplIGRvZXNu4oCZdCBtYXRjaCB0aGUg c2VjdGlvbnMgZnJvbSBtdGQtPm9vYmxheW91dC0+ZWNjLCB3aGljaCBzaG91bGRu4oCZdCBoYXBw ZW4sIHNvIEkgdGhpbmsgd2UgY2FuIHJlbW92ZSB0aGF0Li4uCgpUaGUgc3R5bGUgd2UgcHJlZmVy IGZvciBlcnJvciBjaGVja2luZyBpczoKCglyZXQgPSBmdW5jdGlvbigpOwoJaWYgKHJldCkKCQlk byBzb21ldGluZzsKCmluc3RlYWQgb2Y6CgoJaWYgKGZ1bmN0aW9uKCkpCgpBbnl3YXksIEkgcmVh bGx5IGRvbid0IGtub3cgaWYgaXQgY2FuIGhhcHBlbiBvciBub3QuIEkgc3VwcG9zZSBpdCBkb2Vz LgpXaGF0IEkgZG9uJ3QgdW5kZXJzdGFuZCBpcyB5b3VyICJvb2IgPSBjaGlwLT5vb2JfcG9pICsg b29iZWNjLm9mZnNldCIuCklmIHlvdSBleHBlY3QgYW4gZXJyb3IsIHRoZW4geW91IHNob3VsZCBu b3QgdXBkYXRlIHRoaXMgcG9pbnRlciwgcmlnaHQ/CgpEb24ndCB5b3UgbmVlZCB0byB1c2UgMiAq IGkgaW5zdGVhZCBvZiBpIGhlcmU/IEZvbGxvd2luZyB5b3VyIG90aGVyCmNvbnRyaWJ1dGlvbiwg c2VjdGlvbnMgYXJlIGRpc3RyaWJ1dGVkIGxpa2UgImRhdGEvZWNjL2RhdGEvZWNjL2V0YyIuCgo+ IAo+ID4gICAKPiA+PiArCQkJb29iID0gTlVMTDsKPiA+PiArCQkJb29iZWNjLmxlbmd0aCA9IDA7 Cj4gPj4gKwkJfSBlbHNlIHsKPiA+PiArCQkJb29iID0gY2hpcC0+b29iX3BvaSArIG9vYmVjYy5v ZmZzZXQ7Cj4gPj4gKwkJfQo+ID4+ICsKPiA+PiArCQlyZXQgPSBuYW5kX2NoZWNrX2VyYXNlZF9l Y2NfY2h1bmsoZWNjX2NodW5rLCBjaGlwLT5lY2Muc2l6ZSwKPiA+PiArCQkJCQkJICBvb2IsIG9v YmVjYy5sZW5ndGgsCj4gPj4gKwkJCQkJCSAgTlVMTCwgMCwKPiA+PiAJCQkJCQkgIGNoaXAtPmVj Yy5zdHJlbmd0aCk7ICAKPiA+IAo+ID4gQXMgSSB0b2xkIHlvdSwgdGhpcyBoZWxwZXIgdGFrZXMg Im1haWQgZGF0YSIgdGhlbiAic3BhcmUgYXJlYSIgdGhlbgo+ID4gImVjYyBieXRlcyIuIFRoZSBu YW1lcyBhcmUgcHJldHR5IGltcG9ydGFudCBoZXJlIGFzIHlvdSB3YW50IHRvIGF2b2lkCj4gPiBj aGVja2luZyB0aGUgc3BhcmUgT09CIGJ5dGVzIG9uIHB1cnBvc2UsIHNvIG1heWJlIHlvdSBjb3Vs ZCBoYXZlIG1vcmUKPiA+IG1lYW5pbmdmdWwgbmFtZXMgYW5kIGNhbGwgImVjYyIgaW5zdGVhZCBv ZiAib29iIiB0aGUgZWNjIHJlZ2lvbj8gIAo+IAo+IEFjdHVhbGx5IEkgdGhvdWdodCB5b3UgbWVh bnQgdGhlIGNvbW1pdCBsb2csIG5vdCB0aGUgY29kZSBpdHNlbGYuLi4KCk5vIHByb2JsZW0gOykg SSBtZWFudCBib3RoIGFjdHVhbGx5LCBBbmQgSSB0aGluayB5b3Ugc2hvdWxkIG5hbWUgdGhlCm9v YiBwb2ludGVyIGVjY19ieXRlcy4KCj4gCj4gPiAgIAo+ID4+IAkJaWYgKHJldCA8IDApCj4gPj4g CQkJcmV0dXJuIHJldDsgIAo+ID4gCj4gPiAKPiA+IFRoYW5rcywKPiA+IE1pcXXDqGwgIAo+IAo+ IFJlZ2FyZHMsCj4gw4FsdmFyby4KPiAKCgoKClRoYW5rcywKTWlxdcOobAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNj dXNzaW9uIG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LW10ZC8K 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=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_2 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 A0B3CC2D0F9 for ; Wed, 13 May 2020 09:09:50 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 7DA7D206A5 for ; Wed, 13 May 2020 09:09:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7DA7D206A5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E6F046E2FF; Wed, 13 May 2020 09:09:31 +0000 (UTC) Received: from relay1-d.mail.gandi.net (relay1-d.mail.gandi.net [217.70.183.193]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9A2E06E84F for ; Tue, 12 May 2020 07:34:58 +0000 (UTC) X-Originating-IP: 91.224.148.103 Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 89D90240013; Tue, 12 May 2020 07:34:52 +0000 (UTC) Date: Tue, 12 May 2020 09:34:51 +0200 From: Miquel Raynal To: =?UTF-8?B?w4FsdmFybyBGZXJuw6FuZGV6?= Rojas Subject: Re: [PATCH v3] mtd: rawnand: brcmnand: correctly verify erased pages Message-ID: <20200512093451.4cde5384@xps13> In-Reply-To: <50E32C0E-7485-4180-A072-F7F1CFB45B06@gmail.com> References: <20200505082055.2843847-1-noltari@gmail.com> <20200512065111.716801-1-noltari@gmail.com> <20200512091637.198dd0c2@xps13> <50E32C0E-7485-4180-A072-F7F1CFB45B06@gmail.com> Organization: Bootlin X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-Mailman-Approved-At: Wed, 13 May 2020 09:09:29 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: vigneshr@ti.com, kdasu.kdev@gmail.com, richard@nod.at, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, linux-mtd@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, computersforpeace@gmail.com, linux-media@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGkgw4FsdmFybywKCsOBbHZhcm8gRmVybsOhbmRleiBSb2phcyA8bm9sdGFyaUBnbWFpbC5jb20+ IHdyb3RlIG9uIFR1ZSwgMTIgTWF5IDIwMjAKMDk6MjQ6MzIgKzAyMDA6Cgo+IEhpIE1pcXXDqGwK PiAKPiA+IEVsIDEyIG1heSAyMDIwLCBhIGxhcyA5OjE2LCBNaXF1ZWwgUmF5bmFsIDxtaXF1ZWwu cmF5bmFsQGJvb3RsaW4uY29tPiBlc2NyaWJpw7M6Cj4gPiAKPiA+IEhpIMOBbHZhcm8sCj4gPiAK PiA+IMOBbHZhcm8gRmVybsOhbmRleiBSb2phcyA8bm9sdGFyaUBnbWFpbC5jb20+IHdyb3RlIG9u IFR1ZSwgMTIgTWF5IDIwMjAKPiA+IDA4OjUxOjExICswMjAwOgo+ID4gICAKPiA+PiBUaGUgY3Vy cmVudCBjb2RlIGNoZWNrcyB0aGF0IHRoZSB3aG9sZSBPT0IgYXJlYSBpcyBlcmFzZWQuCj4gPj4g VGhpcyBpcyBhIHByb2JsZW0gd2hlbiBKRkZTMiBjbGVhbm1hcmtlcnMgYXJlIGFkZGVkIHRvIHRo ZSBPT0IsIHNpbmNlIGl0IHdpbGwKPiA+PiBmYWlsIGR1ZSB0byB0aGUgdXNhYmxlIE9PQiBieXRl cyBub3QgYmVpbmcgMHhmZi4KPiA+PiBDb3JyZWN0IHRoaXMgYnkgb25seSBjaGVja2luZyB0aGF0 IGRhdGEgYW5kIEVDQyBieXRlcyBhcmVuJ3QgMHhmZi4KPiA+PiAKPiA+PiBGaXhlczogMDJiODhl ZWE5ZjljICgibXRkOiBicmNtbmFuZDogQWRkIGNoZWNrIGZvciBlcmFzZWQgcGFnZSBiaXRmbGlw cyIpCj4gPj4gU2lnbmVkLW9mZi1ieTogw4FsdmFybyBGZXJuw6FuZGV6IFJvamFzIDxub2x0YXJp QGdtYWlsLmNvbT4KPiA+PiAtLS0KPiA+PiB2MzogRml4IGNvbW1pdCBsb2cgYW5kIG1lcmdlIG5h bmRfY2hlY2tfZXJhc2VkX2VjY19jaHVuayBjYWxscy4KPiA+PiB2MjogQWRkIEZpeGVzIHRhZwo+ ID4+IAo+ID4+IGRyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMgfCAxOSAr KysrKysrKysrKysrKy0tLS0tCj4gPj4gMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyks IDUgZGVsZXRpb25zKC0pCj4gPj4gCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQv cmF3L2JyY21uYW5kL2JyY21uYW5kLmMgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9icmNtbmFuZC9i cmNtbmFuZC5jCj4gPj4gaW5kZXggZTRlM2NlZWFjMzhmLi44MGZlMDFmMDM1MTYgMTAwNjQ0Cj4g Pj4gLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYwo+ID4+ICsr KyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMKPiA+PiBAQCAtMjAx OCw4ICsyMDE4LDkgQEAgc3RhdGljIGludCBicmNtbmFuZF9yZWFkX2J5X3BpbyhzdHJ1Y3QgbXRk X2luZm8gKm10ZCwgc3RydWN0IG5hbmRfY2hpcCAqY2hpcCwKPiA+PiBzdGF0aWMgaW50IGJyY21z dGJfbmFuZF92ZXJpZnlfZXJhc2VkX3BhZ2Uoc3RydWN0IG10ZF9pbmZvICptdGQsCj4gPj4gCQkg IHN0cnVjdCBuYW5kX2NoaXAgKmNoaXAsIHZvaWQgKmJ1ZiwgdTY0IGFkZHIpCj4gPj4gewo+ID4+ ICsJc3RydWN0IG10ZF9vb2JfcmVnaW9uIG9vYmVjYzsKPiA+PiAJaW50IGksIHNhczsKPiA+PiAt CXZvaWQgKm9vYiA9IGNoaXAtPm9vYl9wb2k7Cj4gPj4gKwl2b2lkICpvb2I7Cj4gPj4gCWludCBi aXRmbGlwcyA9IDA7Cj4gPj4gCWludCBwYWdlID0gYWRkciA+PiBjaGlwLT5wYWdlX3NoaWZ0Owo+ ID4+IAlpbnQgcmV0Owo+ID4+IEBAIC0yMDM1LDExICsyMDM2LDE5IEBAIHN0YXRpYyBpbnQgYnJj bXN0Yl9uYW5kX3ZlcmlmeV9lcmFzZWRfcGFnZShzdHJ1Y3QgbXRkX2luZm8gKm10ZCwKPiA+PiAJ aWYgKHJldCkKPiA+PiAJCXJldHVybiByZXQ7Cj4gPj4gCj4gPj4gLQlmb3IgKGkgPSAwOyBpIDwg Y2hpcC0+ZWNjLnN0ZXBzOyBpKyssIG9vYiArPSBzYXMpIHsKPiA+PiArCWZvciAoaSA9IDA7IGkg PCBjaGlwLT5lY2Muc3RlcHM7IGkrKykgewo+ID4+IAkJZWNjX2NodW5rID0gYnVmICsgY2hpcC0+ ZWNjLnNpemUgKiBpOwo+ID4+IC0JCXJldCA9IG5hbmRfY2hlY2tfZXJhc2VkX2VjY19jaHVuayhl Y2NfY2h1bmssCj4gPj4gLQkJCQkJCSAgY2hpcC0+ZWNjLnNpemUsCj4gPj4gLQkJCQkJCSAgb29i LCBzYXMsIE5VTEwsIDAsCj4gPj4gKwo+ID4+ICsJCWlmIChtdGQtPm9vYmxheW91dC0+ZWNjKG10 ZCwgaSwgJm9vYmVjYykpIHsgIAo+ID4gCj4gPiBQbGVhc2UgdXNlIHRoZSBtdGRjb3JlLmMncyBo ZWxwZXJzCj4gPiAobXRkX29vYmxheW91dF9zZXQvZ2V0X2RhdGEvZnJlZS9lY2MvYnl0ZXMpLgo+ ID4gCj4gPiBBbHNvLCB3aGF0IGFyZSB5b3UgdHJ5aW5nIHRvIGRpc2NyaW1pbmF0ZSB3aXRoIHRo ZSByZXR1cm4gY29kZSBvZiB0aGUKPiA+IGZ1bmN0aW9uPyBTaG91bGRuJ3QgdGhpcyBmdW5jdGlv biAiYWx3YXlzIiB3b3JrPyAgCj4gCj4gSnVzdCBtYWtpbmcgc3VyZSBpdCBkb2VzbuKAmXQgcmV0 dXJuIGFuIEVSQU5HRSBpbiBjYXNlIGNoaXAtPmVjYy5zaXplIGRvZXNu4oCZdCBtYXRjaCB0aGUg c2VjdGlvbnMgZnJvbSBtdGQtPm9vYmxheW91dC0+ZWNjLCB3aGljaCBzaG91bGRu4oCZdCBoYXBw ZW4sIHNvIEkgdGhpbmsgd2UgY2FuIHJlbW92ZSB0aGF0Li4uCgpUaGUgc3R5bGUgd2UgcHJlZmVy IGZvciBlcnJvciBjaGVja2luZyBpczoKCglyZXQgPSBmdW5jdGlvbigpOwoJaWYgKHJldCkKCQlk byBzb21ldGluZzsKCmluc3RlYWQgb2Y6CgoJaWYgKGZ1bmN0aW9uKCkpCgpBbnl3YXksIEkgcmVh bGx5IGRvbid0IGtub3cgaWYgaXQgY2FuIGhhcHBlbiBvciBub3QuIEkgc3VwcG9zZSBpdCBkb2Vz LgpXaGF0IEkgZG9uJ3QgdW5kZXJzdGFuZCBpcyB5b3VyICJvb2IgPSBjaGlwLT5vb2JfcG9pICsg b29iZWNjLm9mZnNldCIuCklmIHlvdSBleHBlY3QgYW4gZXJyb3IsIHRoZW4geW91IHNob3VsZCBu b3QgdXBkYXRlIHRoaXMgcG9pbnRlciwgcmlnaHQ/CgpEb24ndCB5b3UgbmVlZCB0byB1c2UgMiAq IGkgaW5zdGVhZCBvZiBpIGhlcmU/IEZvbGxvd2luZyB5b3VyIG90aGVyCmNvbnRyaWJ1dGlvbiwg c2VjdGlvbnMgYXJlIGRpc3RyaWJ1dGVkIGxpa2UgImRhdGEvZWNjL2RhdGEvZWNjL2V0YyIuCgo+ IAo+ID4gICAKPiA+PiArCQkJb29iID0gTlVMTDsKPiA+PiArCQkJb29iZWNjLmxlbmd0aCA9IDA7 Cj4gPj4gKwkJfSBlbHNlIHsKPiA+PiArCQkJb29iID0gY2hpcC0+b29iX3BvaSArIG9vYmVjYy5v ZmZzZXQ7Cj4gPj4gKwkJfQo+ID4+ICsKPiA+PiArCQlyZXQgPSBuYW5kX2NoZWNrX2VyYXNlZF9l Y2NfY2h1bmsoZWNjX2NodW5rLCBjaGlwLT5lY2Muc2l6ZSwKPiA+PiArCQkJCQkJICBvb2IsIG9v YmVjYy5sZW5ndGgsCj4gPj4gKwkJCQkJCSAgTlVMTCwgMCwKPiA+PiAJCQkJCQkgIGNoaXAtPmVj Yy5zdHJlbmd0aCk7ICAKPiA+IAo+ID4gQXMgSSB0b2xkIHlvdSwgdGhpcyBoZWxwZXIgdGFrZXMg Im1haWQgZGF0YSIgdGhlbiAic3BhcmUgYXJlYSIgdGhlbgo+ID4gImVjYyBieXRlcyIuIFRoZSBu YW1lcyBhcmUgcHJldHR5IGltcG9ydGFudCBoZXJlIGFzIHlvdSB3YW50IHRvIGF2b2lkCj4gPiBj aGVja2luZyB0aGUgc3BhcmUgT09CIGJ5dGVzIG9uIHB1cnBvc2UsIHNvIG1heWJlIHlvdSBjb3Vs ZCBoYXZlIG1vcmUKPiA+IG1lYW5pbmdmdWwgbmFtZXMgYW5kIGNhbGwgImVjYyIgaW5zdGVhZCBv ZiAib29iIiB0aGUgZWNjIHJlZ2lvbj8gIAo+IAo+IEFjdHVhbGx5IEkgdGhvdWdodCB5b3UgbWVh bnQgdGhlIGNvbW1pdCBsb2csIG5vdCB0aGUgY29kZSBpdHNlbGYuLi4KCk5vIHByb2JsZW0gOykg SSBtZWFudCBib3RoIGFjdHVhbGx5LCBBbmQgSSB0aGluayB5b3Ugc2hvdWxkIG5hbWUgdGhlCm9v YiBwb2ludGVyIGVjY19ieXRlcy4KCj4gCj4gPiAgIAo+ID4+IAkJaWYgKHJldCA8IDApCj4gPj4g CQkJcmV0dXJuIHJldDsgIAo+ID4gCj4gPiAKPiA+IFRoYW5rcywKPiA+IE1pcXXDqGwgIAo+IAo+ IFJlZ2FyZHMsCj4gw4FsdmFyby4KPiAKCgoKClRoYW5rcywKTWlxdcOobApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK