From patchwork Wed Nov 29 08:29:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuta Hayama X-Patchwork-Id: 1869595 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=n9NP2E2Q; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=lineo.co.jp header.i=@lineo.co.jp header.a=rsa-sha256 header.s=selector2 header.b=BwlwBNr4; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SgCDc5pRwz23mS for ; Wed, 29 Nov 2023 19:29:52 +1100 (AEDT) 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:Cc:To:Subject:From:Date: Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=ryU76ZEEF6/aZKDpUeu95Q7GIulpJhD/9HslOensxMc=; b=n9NP2E2QEzTe8a 0hBEdb/rn0Ts+8NfNIPihVjgZ1CDmB1/l5YnsFaImAuep1lBpL9sLuFnuVLw/NLyCrRx9mEWtiAFR guXeWfTarcaZaOpvmWCXUDc40YKZBCx635KSvBYKv4OfenqgEZWfriakRnz51m3WiGpTyzCABMyPQ 3bjECNhKmV046ZYPvFexcPJNW5DTKTAUwm0wmY0dfe1HLfrUPwpolxCQ8CDzi7vYx5PvySt+JkNyj Q1/+k04YlN/JPIoznCcx3Oj/rkk8K2styGlR+ZYc00sfqSS8kfwbfDfeYRpNHDCjCChKyqyM2eUet sg9i0eqTIr+VCnFFVbtw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r8Fwi-007TFQ-1x; Wed, 29 Nov 2023 08:29:24 +0000 Received: from mail-tycjpn01on20701.outbound.protection.outlook.com ([2a01:111:f403:2019::701] helo=JPN01-TYC-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r8Fwf-007TC4-0z for linux-mtd@lists.infradead.org; Wed, 29 Nov 2023 08:29:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W9xa03WE97EGRyy/NOHjQ8FTMhtskoexjRSRYxMTUAqdht6AOBQSOIGYesnUSnKtWXWGWLo/CE8JEW7uvHqwaTbbPBundeMlMBBZeh7Hhbh/EjusJEa2/r6X4wi1XezYXbfGM7oHMSpAySGcIZSilY8rvvOFykjXPp7Ef5V90csrN8DDCiTxtoMASerHeDgoDjdTkoTWMx4ibYLR4d0An9inXIuS3Az4aQiYflKTI4cEO6R3VC5AbNVujdea3y4oMjOv1FA+NqsSL7WQ8eDSRDSw5Z2EH3D3pwQk8aZz72zaLPVTGs+tdp0I2pRMhjFAIx0IDoilEzSFLEwZJc8H9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2Ko/Y2Y3NWCyGXd9WQ10Uw7R+JNVp7Xo5kL6lTbfIqE=; b=R9s10hE86Ss7LEE640DYn5tUG+x/25O8f2YryUGDjfp2VPQPPcS5b6iUl0Ff0Z8r1m+qTfgjeAnXFSP1qe43UCVgMETRm8oxZJqC3HGk0WZjtOMz0a8sW20V0jpow9KbKohc9gkkbgyaEgy6SJQ1GGxEcAG34bnvMZopf42W+BLIWxMRmZcqLi2BPpeqN669TjixhTURHxz0HVX/+EMwwS5YdYGZATxf7MD6IERFVG+3tLZ5qq4mfbBkTEQ09hQwCuSxV3a5EvE23d71WYukQW7RChCijFXcevJtsr1Gl7F/nYgK2NYzKWU52c9wXIVNPf9T5lVUVlYlEvXXCdj/hw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=lineo.co.jp; dmarc=pass action=none header.from=lineo.co.jp; dkim=pass header.d=lineo.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lineo.co.jp; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2Ko/Y2Y3NWCyGXd9WQ10Uw7R+JNVp7Xo5kL6lTbfIqE=; b=BwlwBNr4G1nVU+YC+oDayuPKjuKK180PGyUqYMWffZSOCF6+GVB12ETdgxGKENPtGMcIydqsxgBthsfXzlgKQxiiz3mMiofiL3c4WiOf08EN7ITUShg8FBsgaWcrFBdGnp33tAhr5fzk9EnJ5HxkMetvswi8Y1X6RX+x1KquzTvSX5S5VzQok3VAq0gEZ6aq9tpVlzvQSr9zxpqH9GyJXfqtEO5h5KXzSU+YMdC2ke18DOqAp9KGDChvlfGeNpkB8Gz3WFBTpHqwD1bGWTIb6A1iiJgoI0pi/XWIOa+bcEHxQEItICnODo6I3EjasmN9bJD4LuLX2KlCaPsor9v/kQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=lineo.co.jp; Received: from OS3PR01MB8115.jpnprd01.prod.outlook.com (2603:1096:604:171::9) by TY3PR01MB11722.jpnprd01.prod.outlook.com (2603:1096:400:3dc::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Wed, 29 Nov 2023 08:29:14 +0000 Received: from OS3PR01MB8115.jpnprd01.prod.outlook.com ([fe80::9538:79a:d7:b2a8]) by OS3PR01MB8115.jpnprd01.prod.outlook.com ([fe80::9538:79a:d7:b2a8%3]) with mapi id 15.20.7025.022; Wed, 29 Nov 2023 08:29:14 +0000 Message-ID: <1dfa7e7f-233b-43da-b0ea-0ad3b1f69a37@lineo.co.jp> Date: Wed, 29 Nov 2023 17:29:13 +0900 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Yuta Hayama Subject: [PATCH 4.14] mtd: rawnand: brcmnand: Fix ecc chunk calculation for erased page bitfips To: stable@vger.kernel.org, Greg Kroah-Hartman , Sasha Levin Cc: Claire Lin , Ray Jui , Kamal Dasu , Miquel Raynal , linux-mtd@lists.infradead.org, Yuta Hayama X-ClientProxiedBy: TYCP286CA0232.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:3c7::18) To OS3PR01MB8115.jpnprd01.prod.outlook.com (2603:1096:604:171::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS3PR01MB8115:EE_|TY3PR01MB11722:EE_ X-MS-Office365-Filtering-Correlation-Id: 177b105e-1f09-47d8-88b5-08dbf0b544f1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: s4+o0ADvjXm9OP1FSv3umFIB+FDrHrPFgQtySKpwp5H0hZiFH+5jm79xRNh+6x21FCEqr/aLoAknmu8n0hP9/T1dejP4vQAOWCweYHH4wTAOMNb0lSTiecZEPEROY8Ve8y4yi3eEhpf0xEx82D71k1R5Jo1iJNfirvTPLBkyLkxdWk118ckMKvwl5Z2tFw8PflhEo5zKD0Xn6weLnTDgBUUu6qIqnho8s6LL9/g8FgTNXBKTlYsrXoZGQyOpKFeGJ6yFIy3jhQboWugwisrDl1yz8jxjpZnYenn8DhYMrDMGwkPyKrNW7oYzbl/poDoQ+UIkXa8WRdbCL0TMsUUjqJP3b+5O21qUqEhbX55Dci2hI2P1e61JmCpbOciFG5qHefTGEBWOZiJv75o0aL39Ux6pnyREiVR38yBtpsueerpeW/ZQzN/A1y5U5tvDcHmqKK9LYlms5kjZCWcN7wDjATUw8odKfs+mW+qUgiphPbqMiAEiRaCBKpNn8kcp4LuX2y12MDgxdzNPwDLAlYA4Gp6bqzvv06k1tnCCiqqNT4UImhlnjyKNytRwvKvqkpTeY0JVJ/SoHSLN0heQjm1XbKzZXpYJtS+sPxEfSvX0T91p8hr4o+gLPmerMjsQh/G+2GYhpNjuLVHaA7jRldHfQA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS3PR01MB8115.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(396003)(376002)(136003)(39840400004)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(31686004)(478600001)(26005)(2616005)(6506007)(6512007)(38100700002)(31696002)(36756003)(66556008)(83380400001)(2906002)(4326008)(54906003)(41300700001)(86362001)(5660300002)(107886003)(110136005)(8676002)(316002)(66946007)(66476007)(6486002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?PG3do1zAWFTl2qjWTLe1MyaPj0g1?= =?utf-8?q?8lvjrGduxoq5NttIV5zMy1xhA7v9ze3i3vJXIidGwS7v45CC7W22WltcJcNLQZzyY?= =?utf-8?q?mttCy3lGu60qqvgyZDtsdUXAD0kdAw9Pg+UuW8DO3AqzyGSVY9hxeY7QDjt/pHisz?= =?utf-8?q?TiRkG6kqR/DlPIQTOefZkSex1cc4v4YwycnfWmRY8Md6z1FmOj1lHyCYjKuowarSY?= =?utf-8?q?SgYEfYySh4ZyyRS9jhkYbq9099XkJO9kNrZXv344pOkK1br6EqsGvwHGHt6NG0mxC?= =?utf-8?q?BDUu5wF64/9f8mZdvAXL9nR9CQ50lMI7/d9Qh3ibOZDjx1YJ9rTfzf662UxA3r5F/?= =?utf-8?q?kFP91EP1gdPRSiOGZ97xsz4fK58VvgCf48Mju5R8pB3PsYUzvIxPxpFy4Ea9Y8PEY?= =?utf-8?q?zwV1g1t5EM+tBa58Ec6XR3BkEfbAT+r0FmX0GOhO33AT7Oq3pr1xvTJfvTqT2NTXa?= =?utf-8?q?cJOhrwahvQJrjmtHFfZxEhDxqQzomhbp8Nwzq4NkfdFQ2iJjwQaoqMCXYUZ7CcLWs?= =?utf-8?q?r5WyUdyGP4gKm3Pdm6oSqNNdLhjAVJWveSHU0Gx+IV0zpm1NE5V9vFLyTocrWyqTU?= =?utf-8?q?OnycILChm3TmubI306aBIdN+PcY2lRwhrrmLH1/T7mRAnciThERl6vvSpiHtvEK16?= =?utf-8?q?s9OwH0Y9pCBwDrppraw2ySiPMSm7eMMRpCoasjIuNwVZHxx96lny2TtHgTUtO7mTe?= =?utf-8?q?bpdcJ2mCN3Ll3/6a8vundds4rfXE3JBkXKYDq0EaxPmQpIu+gO9askTwv4KECMfrk?= =?utf-8?q?xOWT9lz/JV4Ndl+V6XNPrOG92g6zMZbpY9YoEyiuAUctHbW7Ke18g0RXSqGp/JWx4?= =?utf-8?q?ORZuRHU+kpWJKFKR8O3T4s42JX/Q2rrlYrv2O22hSZFC0urWhX5Jf31aNrZAAuNrI?= =?utf-8?q?wvB/m6C9eDQtfLw3H+seaY7e8WN+/l2R5fJTGwGqgYrEAQXxkdI9Y5ZFgfEaStcLk?= =?utf-8?q?Y+xQumAGBhNRLHsO+4mhwkVaUVpQq7yVPNebHxEnN9xqm+71LenjjcnV0IsxtsNEQ?= =?utf-8?q?9urIVlK09LMddwwEALG8Ea582w/sMjCOPyjIDDv7lFQH2aCArR+GgnJidH4FXaAE7?= =?utf-8?q?BZ7tvQUu42T8hhBUUa+Ooc4m2o3Bm3xuQNhRuwSh3KAvBiajSaMlo9mk+zDTe4aFd?= =?utf-8?q?RewxdfNDdw+h+8nw50YUDasa0qz3QTidFq60LdUwLuhONnZlSQgGQLWcfWbIDQN9p?= =?utf-8?q?z6P4DfBqtQGY5UBF21mStgtOO5YYhsESoaM6RzebtkpR1Ck4BMmGlpQBBK/RsJmeJ?= =?utf-8?q?49Q0jGrCcV5MuXhKMBBq5rbH1HH6MuJY7ZTw1L7W/iDqLZp6/7WGWXscbkCV7RW/q?= =?utf-8?q?x1L2FNOu0ZF/v1mhKnGhl5FXtZM1e7KqwIdXuclIBidt5BzYgFChhOnMkXGbaFzSX?= =?utf-8?q?PXp2kDRjQu8tuuKJQ8abo3rNnspBonEuFebZ3lDGWBT7gMlu/FONkmWiihRnG61AA?= =?utf-8?q?V7vguT3QSbpbmMhF63EqeU0opmF8a8T+Df9Z9keyO7m+5dPWbW/9N/OSk+K4Ll3Sc?= =?utf-8?q?XFfdSMjmM1cK?= X-OriginatorOrg: lineo.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: 177b105e-1f09-47d8-88b5-08dbf0b544f1 X-MS-Exchange-CrossTenant-AuthSource: OS3PR01MB8115.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 08:29:14.0465 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 850e1ad4-d43d-42a8-82ab-c68675f36887 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3kQ55jlScHLFsoee6G/mKcgW94gYAv/jU/sblW/NtqWQaKGvS70fEsNC4EkXoB555B79StmaOJUC2hAlmWxahg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB11722 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231129_002921_344224_D9E4E753 X-CRM114-Status: GOOD ( 14.02 ) X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: From: Claire Lin commit 7f852cc1579297fd763789f8cd370639d0c654b6 upstream. In brcmstb_nand_verify_erased_page(), the ECC chunk pointer calculation while correcting erased page bitflips is wrong, fix it. Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 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: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Claire Lin commit 7f852cc1579297fd763789f8cd370639d0c654b6 upstream. In brcmstb_nand_verify_erased_page(), the ECC chunk pointer calculation while correcting erased page bitflips is wrong, fix it. Fixes: 02b88eea9f9c ("mtd: brcmnand: Add check for erased page bitflips") Signed-off-by: Claire Lin Reviewed-by: Ray Jui Signed-off-by: Kamal Dasu Signed-off-by: Miquel Raynal Signed-off-by: Yuta Hayama --- After applying e44b9a9c1357 ("mtd: nand: brcmnand: Zero bitflip is not an error"), the return value 0 of brcmstb_nand_verify_erased_page() is *correctly* interpreted as "no bit flips, no errors". However, that function still has the issue that it may incorrectly return 0 for a page that contains bitflips. Without this patch, the data buffer of the erased page could be passed to a upper layer (e.g. UBIFS) without bitflips being detected and corrected. In active stable, 4.14.y and 4.19.y seem to have a same issue. drivers/mtd/nand/brcmnand/brcmnand.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/nand/brcmnand/brcmnand.c b/drivers/mtd/nand/brcmnand/brcmnand.c index fa66663df6e8..267bbba09afb 100644 --- a/drivers/mtd/nand/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/brcmnand/brcmnand.c @@ -1753,6 +1753,7 @@ static int brcmstb_nand_verify_erased_page(struct mtd_info *mtd, int bitflips = 0; int page = addr >> chip->page_shift; int ret; + void *ecc_chunk; if (!buf) { buf = chip->buffers->databuf; @@ -1769,7 +1770,9 @@ static int brcmstb_nand_verify_erased_page(struct mtd_info *mtd, return ret; for (i = 0; i < chip->ecc.steps; i++, oob += sas) { - ret = nand_check_erased_ecc_chunk(buf, chip->ecc.size, + ecc_chunk = buf + chip->ecc.size * i; + ret = nand_check_erased_ecc_chunk(ecc_chunk, + chip->ecc.size, oob, sas, NULL, 0, chip->ecc.strength); if (ret < 0)