From patchwork Thu Jan 28 06:43:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12052021 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=-15.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 4CF8DC433DB for ; Thu, 28 Jan 2021 06:53:27 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 A650A64DCE for ; Thu, 28 Jan 2021 06:53:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A650A64DCE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:51818 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l51BF-0008Jk-LZ for qemu-devel@archiver.kernel.org; Thu, 28 Jan 2021 01:53:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38076) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l511f-0000uH-LU; Thu, 28 Jan 2021 01:43:31 -0500 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]:45174) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l511b-00055Z-A5; Thu, 28 Jan 2021 01:43:31 -0500 Received: by mail-pl1-x632.google.com with SMTP id b8so2775642plh.12; Wed, 27 Jan 2021 22:43:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=k6LtT3oBEvr/RqKzWKwUas7YF00QYlOogchhlo2BSdQ=; b=QX1qjqL7glbEpdgVZ3EA4syfl88rIu/Y8YZHtf8phmocJdFYbLpisdO/TxYemgOqp+ GYIAADthV0X5xn6lEde9M/eWJqq/K0x9Z6RuUIqQE7N+Bb0fcIUH4Rr9HVAoRN+Toz0A hAwHZI81VYazF0KPeRpqDT20apbXA1X7ZWa6B2MDzey7VHmJy2ISilbiDIIdKB8g0R35 yZmUQpZr+vH8IauTj8kELXPlnnJ06PpMwe+fZpOm0LVKACASvUoHJLGk4JxuR3VdAwiM LXQTPnEzhmL39hmKZyiH5W+doWtsBWCYli+SU1i/6QIpyhzmmJ1ge+W6KZ9pvr4CggQv u3Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=k6LtT3oBEvr/RqKzWKwUas7YF00QYlOogchhlo2BSdQ=; b=PU65RAHvhuTT5qcm1uwYaQ03ZWPv6+v2kWgl3aUHql7lrWM1sHJ5+DwInj2m4X1rEY m350YdjGojG06qoToE7D8V1N703Y65pm+YKUGe66dSiFfCC6bRylFIku6dOxIi5vggw3 9VL4PS7oVod/Tdyvfxx7nn/tEUmITgaFb17WFCNFVTS5pagB2pzJE8xzvQoDi7kBAQsF CjDuo1JrGoCZMt3geahjNdAx4t3WDooba2Lr9AdqffaV/SS/Y6EIwsNfkewFQ8wDgqMi v8B9xDNLhgrCqqRW2Uaf4bW14PYPAb8n4VoSBs0X+Oep8Gg9+w9H43iDa51vXrzvs0rQ e5TQ== X-Gm-Message-State: AOAM532SYXmSq9sj+ihe8R7npCr1zZZAn9VLrRKwPAZBrbhNcP13MHkb q2jcUXR39eFd1PJZVjuRusL4tiPupBh0Tw== X-Google-Smtp-Source: ABdhPJxPTRWKNAHNCuojo+BuwWLzxaBd7E9p3JFqWGRrE2UyHyHlhrzEticx7lPnKHDb5nWdDxtSlQ== X-Received: by 2002:a17:90b:948:: with SMTP id dw8mr9815500pjb.72.1611816203023; Wed, 27 Jan 2021 22:43:23 -0800 (PST) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id v19sm3800609pjh.37.2021.01.27.22.43.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jan 2021 22:43:22 -0800 (PST) From: Bin Meng To: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, qemu-devel@nongnu.org Subject: [PATCH 1/3] hw/sd: sd: Fix address check in sd_erase() Date: Thu, 28 Jan 2021 14:43:10 +0800 Message-Id: <20210128064312.16085-2-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210128064312.16085-1-bmeng.cn@gmail.com> References: <20210128064312.16085-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=bmeng.cn@gmail.com; helo=mail-pl1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Bin Meng For high capacity memory cards, the erase start address and end address are multiplied by 512, but the address check is still based on the original block number in sd->erase_{start, end}. Fixes: 1bd6fd8ed593 ("hw/sd/sdcard: Do not attempt to erase out of range addresses") Signed-off-by: Bin Meng Reviewed-by: Philippe Mathieu-Daudé --- hw/sd/sd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index c99c0e93bb..a6a0b3dcc6 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -760,7 +760,7 @@ static void sd_erase(SDState *sd) erase_end *= 512; } - if (sd->erase_start > sd->size || sd->erase_end > sd->size) { + if (erase_start > sd->size || erase_end > sd->size) { sd->card_status |= OUT_OF_RANGE; sd->erase_start = INVALID_ADDRESS; sd->erase_end = INVALID_ADDRESS;