From patchwork Wed Oct 13 07:54:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiko Schocher X-Patchwork-Id: 1540264 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20210112 header.b=BERi0g4K; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::13c; helo=mail-lf1-x13c.google.com; envelope-from=swupdate+bncbcxy5egbquibbofbtkfqmgqefiji5oy@googlegroups.com; receiver=) Received: from mail-lf1-x13c.google.com (mail-lf1-x13c.google.com [IPv6:2a00:1450:4864:20::13c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4HTlDf11TJz9t0T for ; Wed, 13 Oct 2021 18:54:40 +1100 (AEDT) Received: by mail-lf1-x13c.google.com with SMTP id v2-20020ac25582000000b003fd1c161a31sf1321235lfg.15 for ; Wed, 13 Oct 2021 00:54:40 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1634111672; cv=pass; d=google.com; s=arc-20160816; b=LJC9kJiwCdONqc2jZ8MJbBT1lJFt9q8ap6KxaQivlbPL91lTkIab2xSlaGOVZPlr1P GZ/ZtsWUxtqgjtSJEnVXN44RsPann2dj+OZtQpDJlOp4IKUMY66bytvHrYqJq6yGzZNY hyd2na2z871xbA+QiaN0FQddS6EMC+4hAjohAU41HcpHeVDn+EnqYrsWnnD4dLptWz5n 98V8enTHPRj8NFnoWwHdxfCdE7fvZ+5qoGfjtG+p9QeXoyUyMXwxUK5WxWYLK/YoI/e4 KG+UttICMtecdcbuIk9hixdcETtnCvrZPVA9eHeFlEguIm4TZVe/AsWghTkI97wiq87p 1aSw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:message-id:date :subject:cc:to:from:sender:dkim-signature; bh=XxOB2/5STb4eFcaKCAVlA9phM9cVXV/nLkfLeXcN0Ss=; b=b+Sf1fTQfMfaRFc9O5m9rHNJ9ejWWFCdQZhhWcowJNudGyOwqBry1GsVbkcOqXKr98 mqCGfL+trm9J4MQ2ujboRHkjGntuRbI9yFQ1NIJeNo30tz6tSYLdvcNZxoDy/8YNnE+E g3JcQYhMoekxWpgHo1C/b5ZTKhlqEgCBrzpKpUa5OfmmIKV0QteGPmGbmf5Msx5ShgWk u5Dpf248cPTmGJlUJ6yINlokf0qfOdovkhl0gzo9ctBvk+vWDyeepQ38JFZEDwN8ickz x6ToRsZL/vOYP/4MHJEWLQ5Lgt4AjmanrKBkOXRCvGT6qWb2iVNFu9iqk7wH4Ed1JT5A l4Og== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@denx.de header.s=phobos-20191101 header.b=L9rtc4lQ; spf=pass (google.com: domain of hs@denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=hs@denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:mime-version :x-original-sender:x-original-authentication-results:precedence :mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=XxOB2/5STb4eFcaKCAVlA9phM9cVXV/nLkfLeXcN0Ss=; b=BERi0g4KOEyttOoBQyTxZdnjIjXRBFx9+svGGtvDNxpx/B2g/jrphZvNg/dvW7kVbw plzNtkRXSruhLAWuSqKyaw8G7nePBXTe1i4t7m1Y1SsUpUgkDkVjcL8p3RhVU/T+VNLS zJgWh3ktEYDr2ZQ7Ynv7I/TkSKsYdpbzDN9iFfWe0PGpjqggCiyBJO/ZusJOWDlEtNh7 7XN7nNdQci8iA0AWnM6bPx6wEqD1R0o82NagJ6cSrbwBOPMFek8hLUcu/6QxSpy6kLwX 1IP6fmt1EBmgdOgAy/Qp7lIMiGBBZmzV4sRuadEj5GL31/2boYXmDSSLIe48SG9RZwmu mQVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=sender:x-gm-message-state:from:to:cc:subject:date:message-id :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post :list-help:list-archive:list-subscribe:list-unsubscribe; bh=XxOB2/5STb4eFcaKCAVlA9phM9cVXV/nLkfLeXcN0Ss=; b=IjTIFly3TTkHlp8gUKB/akOg/RHaOYq7nD3VqRKuqoVlI6D2mEW4BiNonBd8aRVGQY +nlT8TP6/3uy/ZLKCpiGNn6L7T1QaK2hb/JpjaHTMXT1s9Mv8J0+mVpT3T2B0Uj3h74T 1S/fLiUrJ0tRvGtb0y42C3uqIBqDJ1Itvj/OSlYLP+xX7E+vMmonDYxplqZPtO1ZnN6f d6H3giCxial08Uye6zv0e8TJ1Q/EJpIWWnR+mPjqx17xnCt2AstiKG1keR7TLQSeYzsx 3tZGQB5I9qzE00IzJdYBFFSiLlp7FdYEB1g1CTfnByhPhyyLOcnF9vIkTZlhDxwsZ2kV 9O+g== Sender: swupdate@googlegroups.com X-Gm-Message-State: AOAM53001WPvPQSDGYygfzzZdqBc5cNYAkomprbBxXgCzciXCfiBT3Sf P3uYOTxggTk1dTaDbnKDfIY= X-Google-Smtp-Source: ABdhPJwjtroOJMrI/huJtGSgC9BfSTSiwroNgVz4a7NwW/iJlybVi2YfEBh3PX85nE3jyGk4jRvWog== X-Received: by 2002:a2e:aa17:: with SMTP id bf23mr3942661ljb.10.1634111672301; Wed, 13 Oct 2021 00:54:32 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a05:651c:982:: with SMTP id b2ls240254ljq.7.gmail; Wed, 13 Oct 2021 00:54:31 -0700 (PDT) X-Received: by 2002:a05:651c:1108:: with SMTP id d8mr21333325ljo.220.1634111671363; Wed, 13 Oct 2021 00:54:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634111671; cv=none; d=google.com; s=arc-20160816; b=0y7KYVqU4PEowxH4D0Dow9xvWDV0cCQFHehsvt+N6nMeHSKU+5783CZrynngZqWLsC L2Q4KkK9EXbg9BxZa28ctjXjrlsb4NC2LWutFVyRhH+m/Nt5E5fC1GQtg4FQPYHftRkG QvntdH/jTHCkEguRqXG07oDdfM1Mxl2OtpSTfsuN/nYL4YddNDmHdkF4ht4HkK1K+k1d 5G4V7IKiKTszMAi1frWRcmYiGvHirhS9VFiCZ7Yhk2bK3YKnXhUnlK6dJk2k1QTSvP+v O5PcRudQvynJcDRTj6pgFwrD64zN+RAU0nF5x4j0PCXh9dQi3CAyeNBX6EaG3AhCEV1J Rnlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=IK8QL6QkzvQz5bB35xsDCVuk3KgsGWbK8FMoS+E0n5Y=; b=sQ8bvjg9Fh6CG4HXI8al9iKrDs0CzxjDJf3ws+bTNwTk5rKJWXlVes34dJoLGiIDNX hiJfI8htwbG09DL6BCCcOH/D4P/MaDtqNMI2WNrS7sdN0MmafR1MhJoslz7K3lfbcLmD 7ouSfN0EakWnI3rPcfoGEvmiXOJLaTnZPqTt0A41VDIwqJQzSiT+jaL3/qrwowS2bxMi NYarpsCYQZRAloLbA3Sw1G9pxAwp98NEggsDXbsnmvSushdpc96k8ijkQWD8ntWtpOs2 aK/UX4QCnqxeShlXxRsPi9IC96pWGirdZguGR/JDgK+Z/IQXqyfJeNHrIBM+x4ABTjbF DLqQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@denx.de header.s=phobos-20191101 header.b=L9rtc4lQ; spf=pass (google.com: domain of hs@denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=hs@denx.de Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by gmr-mx.google.com with ESMTPS id o25si59917lfo.9.2021.10.13.00.54.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Oct 2021 00:54:31 -0700 (PDT) Received-SPF: pass (google.com: domain of hs@denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Received: from mail-internal.denx.de (p578adb1c.dip0.t-ipconnect.de [87.138.219.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: noc@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 8514480215 for ; Wed, 13 Oct 2021 09:54:30 +0200 (CEST) Received: from pollux.denx.de (pollux [192.168.1.1]) by mail-internal.denx.de (Postfix) with ESMTPS id CEB4718785A for ; Wed, 13 Oct 2021 09:54:26 +0200 (CEST) Received: by pollux.denx.de (Postfix, from userid 515) id A14DE1A8B98; Wed, 13 Oct 2021 09:54:26 +0200 (CEST) From: Heiko Schocher To: swupdate@googlegroups.com Cc: Heiko Schocher , Stefano Babic Subject: [swupdate] [PATCH v1] mtd: fix flash_erase_sector Date: Wed, 13 Oct 2021 09:54:25 +0200 Message-Id: <20211013075425.988569-1-hs@denx.de> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean X-Original-Sender: hs@denx.de X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@denx.de header.s=phobos-20191101 header.b=L9rtc4lQ; spf=pass (google.com: domain of hs@denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=hs@denx.de Precedence: list Mailing-list: list swupdate@googlegroups.com; contact swupdate+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: swupdate@googlegroups.com X-Google-Group-Id: 605343134186 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , commit f0170ea671f: ("mtd: add flash_erase_sector") introduced some problems with correct start and end sector calculation. Fix it! Signed-off-by: Heiko Schocher --- corelib/mtd-interface.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/corelib/mtd-interface.c b/corelib/mtd-interface.c index abed7a1..586a9ba 100644 --- a/corelib/mtd-interface.c +++ b/corelib/mtd-interface.c @@ -35,7 +35,7 @@ int flash_erase_sector(int mtdnum, off_t start, size_t size) struct mtd_dev_info *mtd; int noskipbad = 0; int ret = 0; - unsigned int eb, eb_start, eb_cnt, i; + unsigned int eb, eb_start, i, eb_end, end; uint8_t *buf; struct flash_description *flash = get_flash_info(); @@ -48,14 +48,14 @@ int flash_erase_sector(int mtdnum, off_t start, size_t size) eb_start = start; size = size ? size : mtd->size; - if (eb_start > size) - return -EINVAL; if (!mtd->eb_size) return -EINVAL; - eb_cnt = (size - eb_start) / mtd->eb_size; - if (!eb_cnt) - return -EINVAL; + + end = start + size; eb_start /= mtd->eb_size; + eb_end = end / mtd->eb_size; + if (end % mtd->eb_size) + eb_end++; if ((fd = open(mtd_device, O_RDWR)) < 0) { ERROR( "%s: %s: %s", __func__, mtd_device, strerror(errno)); @@ -73,7 +73,7 @@ int flash_erase_sector(int mtdnum, off_t start, size_t size) return -ENOMEM; } - for (eb = 0; eb < eb_start + eb_cnt; eb++) { + for (eb = eb_start; eb < eb_end; eb++) { /* Always skip bad sectors */ if (!noskipbad) {