From nobody Fri May 17 05:26:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1594735177; cv=none; d=zohomail.com; s=zohoarc; b=h0UB3+6suVLfvqu2BHZjga/hzc9cSp7IAK+ytSJ7tjIHslPE4HOwvGub+q2XCcWmcdZn9CBE/tbIZ4FFB/HSJkSHUfhX8g4/p2yQxZ0jJADgKm3ZFetNI3dY3SIGhpIAxgGSPZgHPlr6+lVNDy7uoTPHGt2J41oR7tUSI1JoLyg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594735177; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=CfEDbVfF7kj/yGhqKmfevoqL1P6U47hn56zU8XjW1QI=; b=YHMsVU8bo0jgJkyT7MwypLxOnrXGkG51g0k/vUeBK/RpBJN7YmPHXdWKCeCRxL4VQp3f2Fq9aWmXLy7QB/VQL62pIbnuLxorLFpMxmdPtBsBhFTQgQUlL5K8/plH9o77WErNZXsGAAwU5pVSkbX8k9M3Unm20GaL2lTydA1Q10o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1594735177592822.6247295721479; Tue, 14 Jul 2020 06:59:37 -0700 (PDT) Received: from localhost ([::1]:48136 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jvLT6-0005hV-AV for importer@patchew.org; Tue, 14 Jul 2020 09:59:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34928) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jvLRt-00042l-GZ; Tue, 14 Jul 2020 09:58:21 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:42420) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jvLRs-0003Qa-65; Tue, 14 Jul 2020 09:58:21 -0400 Received: by mail-wr1-x442.google.com with SMTP id o11so21818291wrv.9; Tue, 14 Jul 2020 06:58:19 -0700 (PDT) Received: from localhost.localdomain (138.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.138]) by smtp.gmail.com with ESMTPSA id k14sm29145343wrn.76.2020.07.14.06.58.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2020 06:58:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CfEDbVfF7kj/yGhqKmfevoqL1P6U47hn56zU8XjW1QI=; b=J5nhTuii1pZsU1Sqv6Y+C1OndYYy/sdGDHt+WzmO8Q8uvDD94Nq0Eawm/8m/+Cd0nW QoXtUYxlPSDI5mHmKWWWt10UcxctzLqHdA1Tq6wyhRskSF4UzLZxxd2vM84k9CzHl0sJ 6yUzNsE51tST+yA4L8t0JQnByFNQRqdIuAzXQHLMLkLd2NdEA0eRyWBa5JIr9uCNMZcv Jr5YBbXwRAAunViqfxd7xxDvSdxS57WqCjOJjoaG273gkEDDA0z/DyrnSA+QGCQvID6V NSQWiprt9tUrSRIJKvBBm2W79XO4GvVkgGrsKcofFSQ3OVbByebkn8dEWPemT4gCA2Bz ibLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=CfEDbVfF7kj/yGhqKmfevoqL1P6U47hn56zU8XjW1QI=; b=A9o7xDU4eXuxhyHsjaaUgexPZKnCsyJxEt+6+Ul/pf0FLByj4080ReqbeSn36EpL+y 3wVajtTk2CB1KgL6k/Q5ZFedZuMbWMJwbx4cfvG4Hl0OkNNLe9biyZLqgvVqOgYgEgjm bF8wFsiDPUv2m0fdDZsFrpex2R1cmTr7liovn+PaCHde/SBm8nsToLPc0m5rNVBbg2Y7 ahuqQugHjUv/Za7w/f16SYDc9u8zZZp+gN2Yq31kYJujGsamuyu4xDIRPqB7TPQyFyVG 5mtv4ap3ibJCn0QhfsDZyMXSBqAYgIQSGwnRgIGNvyWe6ZVJJMbzmpOFIXFJ+8d54gRb g1jg== X-Gm-Message-State: AOAM530iOeULwABth3p2N5n63m5nnyMGtRXSRfKB4KSv5OtFrkMAei79 lYVrYdctwpHbpNm0wDygO6wto3fFXVg= X-Google-Smtp-Source: ABdhPJzLIq6JuWT2lBax6hgxA46MWr4Majslvkci68+NGExI+C0teqtwYqAHSV+QOt27hvNt5kHnoQ== X-Received: by 2002:a5d:424f:: with SMTP id s15mr6077364wrr.342.1594735098182; Tue, 14 Jul 2020 06:58:18 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 1/9] MAINTAINERS: Cc qemu-block mailing list Date: Tue, 14 Jul 2020 15:58:06 +0200 Message-Id: <20200714135814.19910-2-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200714135814.19910-1-f4bug@amsat.org> References: <20200714135814.19910-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::442; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x442.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: Peter Maydell , qemu-block@nongnu.org, Prasad J Pandit , Alexander Bulekov , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Philippe Mathieu-Daud=C3=A9 We forgot to include the qemu-block mailing list while adding this section in commit 076a0fc32a7. Fix this. Suggested-by: Paolo Bonzini Reviewed-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20200630133912.9428-2-f4bug@amsat.org> --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index fe8139f367..d9c71d0bb3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1674,6 +1674,7 @@ F: hw/ssi/xilinx_* =20 SD (Secure Card) M: Philippe Mathieu-Daud=C3=A9 +L: qemu-block@nongnu.org S: Odd Fixes F: include/hw/sd/sd* F: hw/sd/core.c --=20 2.21.3 From nobody Fri May 17 05:26:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1594735449; cv=none; d=zohomail.com; s=zohoarc; b=ecTKEQns3wZn49tSOqu8Io7IQc58BjNrw7hXB+D0d2bYr/y12+9GjdKUMd1lHZNAp7zDl/NzyClALnkgj7Ls7euCKk/8i26sLGX3njSrnrchPfpp4oscCOFxK3PMhK7pJjwxkSSlAsiJ4FOLYI2iA0ZZ2ZQXBsxFXJYawcd/u2E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594735449; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1zbwVDvuZ7/26jlVLyPOL1ByHC3nT9XTQJpiModFvqA=; b=c7q9gfTgulUfxjbE0GCE+3doT8h+ToeIp3yJLDSqaHWjIuNtM9osjza5XwPE4H/GrPACjJXf5oak7tTiYLJ62Das+imXwCSa6Jefj5ZwPR1BJHJgBYyQw98uulgZCnTmtlBOr/EAbFAnseo+kpeQAeqfZgKEqHkagIQSoJ6RdxE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1594735449034688.020595150265; Tue, 14 Jul 2020 07:04:09 -0700 (PDT) Received: from localhost ([::1]:35774 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jvLXT-0003po-1E for importer@patchew.org; Tue, 14 Jul 2020 10:04:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34950) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jvLRu-000438-RX; Tue, 14 Jul 2020 09:58:22 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:41563) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jvLRt-0003Qi-7M; Tue, 14 Jul 2020 09:58:22 -0400 Received: by mail-wr1-x444.google.com with SMTP id z15so21775498wrl.8; Tue, 14 Jul 2020 06:58:20 -0700 (PDT) Received: from localhost.localdomain (138.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.138]) by smtp.gmail.com with ESMTPSA id k14sm29145343wrn.76.2020.07.14.06.58.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2020 06:58:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1zbwVDvuZ7/26jlVLyPOL1ByHC3nT9XTQJpiModFvqA=; b=r4jiROp4BABhc85r21GW9xjQabF7Y8WY25Tqix/Cz42xHWqEOyRf9nqUYYu99t8118 xeUSUqFimHskY2up063/92iSDjrzeTUNiALHlAOgTUaU2C3kaiZkpAR2xSGJ09hkH44J UC2xzjmMz5gRkOu1ow3GzAR3/YlU6TDNCK9tgDz0jZag6mkB6lGH0og76qvTOLVHRci+ qpO2T3SP6lNB+P3e88P+DDtbGaOvknYoMI7bVTdErVoeL5tuebVqktYr/weplW2ctdBi aJZnLgq72jXL4hy3IXI40NTfI5+ySI6Eo2Hvpm5ASi9R5YDZ9jlpk5gtu3l9VqkSVgUl 1+Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=1zbwVDvuZ7/26jlVLyPOL1ByHC3nT9XTQJpiModFvqA=; b=asOLEYGivqZQRS7HSJr4+hr/QRR6XtbvRZiFcoomNJD/vyVXoYzTl5EIbK5PVmCiW8 Bybj3jc3lCk2OXsFvYLNRyWimcLwE1I8LftBZc/a3t6mz1ssQjPKTgoVwfxvdrNpjIp3 qFdy4RNRWKRo1bFOKe695jIRVKRt6iq/kpPyS06eqEXSPmYoy8KWugTxUjmoVvvH8jLO Pqgt7r5xbWX+ooMiKmYm+HI8qh/KoLgzkLPCtkyM66sdMDZgo1n6nwyqr1aRmKOMNGH7 QiZFpvlS5GlEZ57rIsJ+Pbgol7jwCOQVEtIrechEohw3BsJ9oUXSEjsqY4uKiqDQZ0Kl UZEA== X-Gm-Message-State: AOAM533dbt71tNlfmmorrVRBYkMVOrAbfnixXBCwLjV1rhQhc3apuxYt zrSZtp1ikfskPm1zpUJcRVSMYHD0io8= X-Google-Smtp-Source: ABdhPJzj9zOciYtVY4dMT41Tu1FJ0mUYI1Zk5PmqoMM+GcepPDnjMvT38rLMWtLAAQs+6AGxa2cWIg== X-Received: by 2002:a5d:5381:: with SMTP id d1mr5764165wrv.177.1594735099336; Tue, 14 Jul 2020 06:58:19 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 2/9] docs/orangepi: Add instructions for resizing SD image to power of two Date: Tue, 14 Jul 2020 15:58:07 +0200 Message-Id: <20200714135814.19910-3-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200714135814.19910-1-f4bug@amsat.org> References: <20200714135814.19910-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x444.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=no 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: qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Prasad J Pandit , Alexander Bulekov , Niek Linnenbank , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Niek Linnenbank SD cards need to have a size of a power of two. Update the Orange Pi machine documentation to include instructions for resizing downloaded images using the qemu-img command. Signed-off-by: Niek Linnenbank Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20200712183708.15450-1-nieklinnenbank@gmail.com> Reviewed-by: Alistair Francis Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- docs/system/arm/orangepi.rst | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/system/arm/orangepi.rst b/docs/system/arm/orangepi.rst index c41adad488..6f23907fb6 100644 --- a/docs/system/arm/orangepi.rst +++ b/docs/system/arm/orangepi.rst @@ -127,6 +127,16 @@ can be downloaded from: Alternatively, you can also choose to build you own image with buildroot using the orangepi_pc_defconfig. Also see https://buildroot.org for more i= nformation. =20 +When using an image as an SD card, it must be resized to a power of two. T= his can be +done with the qemu-img command. It is recommended to only increase the ima= ge size +instead of shrinking it to a power of two, to avoid loss of data. For exam= ple, +to prepare a downloaded Armbian image, first extract it and then increase +its size to one gigabyte as follows: + +.. code-block:: bash + + $ qemu-img resize Armbian_19.11.3_Orangepipc_bionic_current_5.3.9.img 1G + You can choose to attach the selected image either as an SD card or as USB= mass storage. For example, to boot using the Orange Pi PC Debian image on SD card, simpl= y add the -sd argument and provide the proper root=3D kernel parameter: @@ -213,12 +223,12 @@ Next, unzip the NetBSD image and write the U-Boot bin= ary including SPL using: $ dd if=3D/path/to/u-boot-sunxi-with-spl.bin of=3Darmv7.img bs=3D1024 se= ek=3D8 conv=3Dnotrunc =20 Finally, before starting the machine the SD image must be extended such -that the NetBSD kernel will not conclude the NetBSD partition is larger th= an -the emulated SD card: +that the size of the SD image is a power of two and that the NetBSD kernel +will not conclude the NetBSD partition is larger than the emulated SD card: =20 .. code-block:: bash =20 - $ dd if=3D/dev/zero bs=3D1M count=3D64 >> armv7.img + $ qemu-img resize armv7.img 2G =20 Start the machine using the following command: =20 --=20 2.21.3 From nobody Fri May 17 05:26:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1594735183; cv=none; d=zohomail.com; s=zohoarc; b=AkIKJLUhB39d1WVQpS7M9iU/T5x6lHDXTC7rtV0oPXGbXyRgJL723WbqEjeJBjUzchkfdnm0Xk0mb7kCpLDKlM6jU8BRs0nNt2Bc1oqtXByYXNkd9iMzCUQ9ZyGsz9p/olt3ZQ63D/Arvv3Q5P7zPLEydJWajYb2I1pe0Et2Jos= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594735183; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zbGjOBBNZ64R8mcYS6G/b7wiXRpDe2wnK8/pnLl1Lj4=; b=guayrf4ltU0n1qKxhpxl8JANAlP6qSWBVOUjed54aE4qxmk4MMAsEpwrnUOy6nsAwvLPsImy/Np0K/mP6c3W8/ff8s9z1r2Y+l7dyOaMa3klMRro1IPaMAuGlNQ4SwUv9Bdnr4YXQ0sn7vKQK1u4KIJXzwBTpDqNO8pJk9r7EyU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1594735183792102.64553161989829; Tue, 14 Jul 2020 06:59:43 -0700 (PDT) Received: from localhost ([::1]:48758 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jvLTC-0005x4-JW for importer@patchew.org; Tue, 14 Jul 2020 09:59:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34968) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jvLRw-00046H-AE; Tue, 14 Jul 2020 09:58:24 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:35096) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jvLRu-0003Qz-Md; Tue, 14 Jul 2020 09:58:23 -0400 Received: by mail-wr1-x42b.google.com with SMTP id z2so21787801wrp.2; Tue, 14 Jul 2020 06:58:22 -0700 (PDT) Received: from localhost.localdomain (138.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.138]) by smtp.gmail.com with ESMTPSA id k14sm29145343wrn.76.2020.07.14.06.58.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2020 06:58:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zbGjOBBNZ64R8mcYS6G/b7wiXRpDe2wnK8/pnLl1Lj4=; b=s15XrGau8cQoLhTWt3iHLyMzKaxZrTSFy+tB0FqvXRFzVL1eGo3lZEcCO+T19EbROt Ak/bUApNPoKLUV2x80+BZWnFXlXOqqnrdS9JQmP07ivzFihbh88OjZOKH5CDeetsJrGs QpC9Pvs0knP/iv+jhfrJLqMcoMaIRPR9+E1+S4DcD6XFM6xCkr1wHFGMtZwWnQxHcrQh Dlf5QY0juBkCfoJOpnsbv7NBZBD0oGo7iW9tPbW2djGzEiPxAI/zu0LdV1Pl+iO+irIk tSNkGP0DNZpSDZVj3EFgnwtA1d4Y7Xb+s+pE91bfUmRx6KHQZyiaYfb3U1AGM6dil/D2 dsYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=zbGjOBBNZ64R8mcYS6G/b7wiXRpDe2wnK8/pnLl1Lj4=; b=SVikdSRUR9IzpG1oEdtEQj3zlJ7+VMUYIPc4cj0RSl2WtbrEt96HJbU1M5VDbh7L6F /W0MWw6QnfFBdGOOWEXVBod/jPyIvg9dlNNtrrNd5kCWCbfdL2puULdnFuJ9nCdilqjX rKuQ6HvfXkzbzOJDQ2a2AzEfAeDY2MJInVHBBZSWBLn3XheWSH6s4vhd4j+9hmLP+DIf SLOMQPWqKBikiArb9zw1E89amljFk7yv05ZTJOOvCHwsPrPYIjqnsmoQ/ZxkPOSuJ1U/ yrwvl5SvXS7bhPpOUGxkhedWgDwRZGSE39Pyfnzlu6JbFjWkvmXlpLkjUPA390LFT5zX +UtA== X-Gm-Message-State: AOAM531eVA1RwLvZsvj9jDk6vKjZfK8ZUv4b3Qi58Vbm8W7ncgYj/h/G abGb85jaBaIJPt7PKRvyfIh+f48L9S8= X-Google-Smtp-Source: ABdhPJwaRvv35z3tE6iygWQhuq5DDdwlyfUZAr97uCGq0D+MLv9VfWiOnrwJkHbVTM4gPEe/OY+tEw== X-Received: by 2002:a05:6000:ca:: with SMTP id q10mr5772834wrx.135.1594735100777; Tue, 14 Jul 2020 06:58:20 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 3/9] tests/acceptance/boot_linux: Tag tests using a SD card with 'device:sd' Date: Tue, 14 Jul 2020 15:58:08 +0200 Message-Id: <20200714135814.19910-4-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200714135814.19910-1-f4bug@amsat.org> References: <20200714135814.19910-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x42b.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=no 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: qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Prasad J Pandit , Alexander Bulekov , Alistair Francis , Cleber Rosa , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Avocado tags are handy to automatically select tests matching the tags. Since these tests use a SD card, tag them. We can run all the tests using a SD card at once with: $ avocado --show=3Dapp run -t u-boot tests/acceptance/ $ AVOCADO_ALLOW_LARGE_STORAGE=3Dok \ avocado --show=3Dapp \ run -t device:sd tests/acceptance/ Fetching asset from tests/acceptance/boot_linux_console.py:BootLinuxConso= le.test_arm_orangepi_sd Fetching asset from tests/acceptance/boot_linux_console.py:BootLinuxConso= le.test_arm_orangepi_bionic Fetching asset from tests/acceptance/boot_linux_console.py:BootLinuxConso= le.test_arm_orangepi_uboot_netbsd9 (1/3) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_o= rangepi_sd: PASS (19.56 s) (2/3) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_o= rangepi_bionic: PASS (49.97 s) (3/3) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_o= rangepi_uboot_netbsd9: PASS (20.06 s) RESULTS : PASS 3 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | = CANCEL 0 JOB TIME : 90.02 s Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Reviewed-by: Cleber Rosa Tested-by: Cleber Rosa Message-Id: <20200713183209.26308-4-f4bug@amsat.org> --- tests/acceptance/boot_linux_console.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot= _linux_console.py index 3d02519660..b7e8858c2d 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -620,6 +620,7 @@ def test_arm_orangepi_sd(self): """ :avocado: tags=3Darch:arm :avocado: tags=3Dmachine:orangepi-pc + :avocado: tags=3Ddevice:sd """ deb_url =3D ('https://apt.armbian.com/pool/main/l/' 'linux-4.20.7-sunxi/linux-image-dev-sunxi_5.75_armhf.de= b') @@ -669,6 +670,7 @@ def test_arm_orangepi_bionic(self): """ :avocado: tags=3Darch:arm :avocado: tags=3Dmachine:orangepi-pc + :avocado: tags=3Ddevice:sd """ =20 # This test download a 196MB compressed image and expand it to 932= MB... @@ -710,6 +712,7 @@ def test_arm_orangepi_uboot_netbsd9(self): """ :avocado: tags=3Darch:arm :avocado: tags=3Dmachine:orangepi-pc + :avocado: tags=3Ddevice:sd """ # This test download a 304MB compressed image and expand it to 1.3= GB... deb_url =3D ('http://snapshot.debian.org/archive/debian/' --=20 2.21.3 From nobody Fri May 17 05:26:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1594735204; cv=none; d=zohomail.com; s=zohoarc; b=mGctlKHqpbUxzFS1U0Yuyw3WsJSPVgVvLGKApESfjuFvNBbXtw9fWG8FqZLMvdU/IHRVNb00berEACtUrKcrILhGBqgVCEIyeXu4wPRjdJg6XLkJX1vw5x08b+vijnco7UQOGvdz1768jLW6QrewhfJjxOPKkpA7sik4nm3BNlM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594735204; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5I6k15BzbxNW4yNX/t4jNCAcu35UtS7fJs1XxZN10R0=; b=ZgGm0qERSSwE3xiLwnL3nuvfslgso3816x5QVVt6xPXMmllwNgpIeHD18hm9LUmR87Xl1YnAPi3rPI+lVL51gInCxVNFYNZo4QtIMdvJQ70sQ9r1fu00+xAZuuOLEdMDFUod687LIyrEvSdZguKxnIgHhpbZqyb9J7do8kzrNeY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1594735204250224.1874616623096; Tue, 14 Jul 2020 07:00:04 -0700 (PDT) Received: from localhost ([::1]:49362 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jvLTW-0006Bn-Sy for importer@patchew.org; Tue, 14 Jul 2020 10:00:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34990) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jvLRx-00049P-Pt; Tue, 14 Jul 2020 09:58:25 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:45838) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jvLRv-0003RD-WB; Tue, 14 Jul 2020 09:58:25 -0400 Received: by mail-wr1-x42c.google.com with SMTP id s10so21729482wrw.12; Tue, 14 Jul 2020 06:58:23 -0700 (PDT) Received: from localhost.localdomain (138.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.138]) by smtp.gmail.com with ESMTPSA id k14sm29145343wrn.76.2020.07.14.06.58.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2020 06:58:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5I6k15BzbxNW4yNX/t4jNCAcu35UtS7fJs1XxZN10R0=; b=YHHnRI+P0gG4nIRZRwsYF24p36aNG8+O+pJufhLsg9q8J1uIi+1qKVMwv/y458Hb6p QM/I/MJKoaBjuurGba2EboQGmvdsuqnBUXWv8IX2gYviBCS2gplU3+eEu2iUdDsYoPpK ++xMIW4eLuRPBLRtvKCEWVC93ysSGzIT4NqEpXRNqa2kubX5jgQhZq5RoWUd6HmIkn3r TfgIspd8IdW+kJk+arvrrSSb3IGA0d7FLlVItVQqsijjEHqzXquuS/+OAZz8+VvYQTLR /V5qSRKC2oWrdtWEwTXcH4JvA5Fl9fAJXxpxrzQBOahdM4EDdXqrXw+krKXcldJiQTNG Zf5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=5I6k15BzbxNW4yNX/t4jNCAcu35UtS7fJs1XxZN10R0=; b=JbI6o+xy38AIUcnzvgnqwZoIT/Uzk/FNxhKPDjPPybm4e03SquPDGOyOIx0b1oAGc/ cLx/LPTNwwAoS7pZfN1itwhiWhHZEUf/Gvdyjj66dEpAT+0aX1W3ZLe+HvW8RdZK8ud/ WUidyIzz1UGXpv12XXvNtUUep5NH/69r4wJhsvB3eqiwgMU8rGkdzZKCp0o6qej4BY2L zeMD7WNcV87+qi3g/Q6LpER2sJRMV//yHV75hKuOBh9xTLGUSzJqS7tzO/NNlWc1sx6H hfRUKhAxLHPUiV9IBWOfy4qkLH57xsdOJsRV4fbG5ekD5fO48EzK8kLEdX9hZYxfBkWy 69ng== X-Gm-Message-State: AOAM530AN3wRRIot/lsjvZtsUfTQByhMbrgkr7s+nkD41V4funW0Ehu5 2X6xOffW3ZL+SpcV5kpYoD10+R2AIk0= X-Google-Smtp-Source: ABdhPJz5bROAe8qtRtC4SXchBBTLcoHaGNu4uhXmxoaPlu/ZATMOPalWf2Y4KweluI+pIBEaF36gWA== X-Received: by 2002:adf:81c7:: with SMTP id 65mr5441231wra.47.1594735101989; Tue, 14 Jul 2020 06:58:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 4/9] tests/acceptance/boot_linux: Expand SD card image to power of 2 Date: Tue, 14 Jul 2020 15:58:09 +0200 Message-Id: <20200714135814.19910-5-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200714135814.19910-1-f4bug@amsat.org> References: <20200714135814.19910-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x42c.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=no 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: qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Prasad J Pandit , Alexander Bulekov , Alistair Francis , Cleber Rosa , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) In few commits we won't allow SD card images with invalid size (not aligned to a power of 2). Prepare the tests: add the pow2ceil() and image_pow2ceil_expand() methods and resize the images (expanding) of the tests using SD cards. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Reviewed-by: Cleber Rosa Message-Id: <20200713183209.26308-5-f4bug@amsat.org> --- tests/acceptance/boot_linux_console.py | 31 ++++++++++++++++++-------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot= _linux_console.py index b7e8858c2d..67c3b2f3d1 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -28,6 +28,22 @@ except CmdNotFoundError: P7ZIP_AVAILABLE =3D False =20 +""" +Round up to next power of 2 +""" +def pow2ceil(x): + return 1 if x =3D=3D 0 else 2**(x - 1).bit_length() + +""" +Expand file size to next power of 2 +""" +def image_pow2ceil_expand(path): + size =3D os.path.getsize(path) + size_aligned =3D pow2ceil(size) + if size !=3D size_aligned: + with open(path, 'ab+') as fd: + fd.truncate(size_aligned) + class LinuxKernelTest(Test): KERNEL_COMMON_COMMAND_LINE =3D 'printk.time=3D0 ' =20 @@ -636,6 +652,7 @@ def test_arm_orangepi_sd(self): rootfs_path_xz =3D self.fetch_asset(rootfs_url, asset_hash=3Drootf= s_hash) rootfs_path =3D os.path.join(self.workdir, 'rootfs.cpio') archive.lzma_uncompress(rootfs_path_xz, rootfs_path) + image_pow2ceil_expand(rootfs_path) =20 self.vm.set_console() kernel_command_line =3D (self.KERNEL_COMMON_COMMAND_LINE + @@ -673,7 +690,7 @@ def test_arm_orangepi_bionic(self): :avocado: tags=3Ddevice:sd """ =20 - # This test download a 196MB compressed image and expand it to 932= MB... + # This test download a 196MB compressed image and expand it to 1GB image_url =3D ('https://dl.armbian.com/orangepipc/archive/' 'Armbian_19.11.3_Orangepipc_bionic_current_5.3.9.7z') image_hash =3D '196a8ffb72b0123d92cea4a070894813d305c71e' @@ -681,6 +698,7 @@ def test_arm_orangepi_bionic(self): image_name =3D 'Armbian_19.11.3_Orangepipc_bionic_current_5.3.9.im= g' image_path =3D os.path.join(self.workdir, image_name) process.run("7z e -o%s %s" % (self.workdir, image_path_7z)) + image_pow2ceil_expand(image_path) =20 self.vm.set_console() self.vm.add_args('-drive', 'file=3D' + image_path + ',if=3Dsd,form= at=3Draw', @@ -714,7 +732,7 @@ def test_arm_orangepi_uboot_netbsd9(self): :avocado: tags=3Dmachine:orangepi-pc :avocado: tags=3Ddevice:sd """ - # This test download a 304MB compressed image and expand it to 1.3= GB... + # This test download a 304MB compressed image and expand it to 2GB deb_url =3D ('http://snapshot.debian.org/archive/debian/' '20200108T145233Z/pool/main/u/u-boot/' 'u-boot-sunxi_2020.01%2Bdfsg-1_armhf.deb') @@ -731,8 +749,9 @@ def test_arm_orangepi_uboot_netbsd9(self): image_hash =3D '2babb29d36d8360adcb39c09e31060945259917a' image_path_gz =3D self.fetch_asset(image_url, asset_hash=3Dimage_h= ash) image_path =3D os.path.join(self.workdir, 'armv7.img') - image_drive_args =3D 'if=3Dsd,format=3Draw,snapshot=3Don,file=3D' = + image_path archive.gzip_uncompress(image_path_gz, image_path) + image_pow2ceil_expand(image_path) + image_drive_args =3D 'if=3Dsd,format=3Draw,snapshot=3Don,file=3D' = + image_path =20 # dd if=3Du-boot-sunxi-with-spl.bin of=3Darmv7.img bs=3D1K seek=3D= 8 conv=3Dnotrunc with open(uboot_path, 'rb') as f_in: @@ -740,12 +759,6 @@ def test_arm_orangepi_uboot_netbsd9(self): f_out.seek(8 * 1024) shutil.copyfileobj(f_in, f_out) =20 - # Extend image, to avoid that NetBSD thinks the partition - # inside the image is larger than device size itself - f_out.seek(0, 2) - f_out.seek(64 * 1024 * 1024, 1) - f_out.write(bytearray([0x00])) - self.vm.set_console() self.vm.add_args('-nic', 'user', '-drive', image_drive_args, --=20 2.21.3 From nobody Fri May 17 05:26:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1594735316; cv=none; d=zohomail.com; s=zohoarc; b=Kkp8Ih26BG7lwN0JSF1FzZLuMTcgdpkCxUlMnMITHD8JnJJEe1BPJYJOz7fHZyW3j2ynIZe9lSx4or/z1uMcXDBxo/uo+L4nuglgPiw6Y01XDrFX8yydGm9MnLOJ83tIAnong4ujP+LYY+e6dD+z1a0v/tbbTGoPL9m/NvrGaBw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594735316; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qdaethCtbmwxVVjeZXalK6EzGf52ykfDlbfqX2TJkVg=; b=YlkQC543GnHcPaeYeg68QFX3Cf0ef4fHfAYMnhzslmOpyrKDacUuBBqSalfNj6rm/smSScqDfcaezM9HwAvcLfMMoebLyLdGYqPLghzQJOyhVtb0+jElshC7PX9QCTBML62qVN9+fYp0yT83iiizkfHuC80YXeCtcwhV0f7/M6s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1594735316108194.33661630438132; Tue, 14 Jul 2020 07:01:56 -0700 (PDT) Received: from localhost ([::1]:57640 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jvLVK-0001E4-PB for importer@patchew.org; Tue, 14 Jul 2020 10:01:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35006) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jvLRz-0004Ca-5z; Tue, 14 Jul 2020 09:58:27 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:46954) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jvLRx-0003RQ-IC; Tue, 14 Jul 2020 09:58:26 -0400 Received: by mail-wr1-x441.google.com with SMTP id r12so21717594wrj.13; Tue, 14 Jul 2020 06:58:24 -0700 (PDT) Received: from localhost.localdomain (138.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.138]) by smtp.gmail.com with ESMTPSA id k14sm29145343wrn.76.2020.07.14.06.58.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2020 06:58:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qdaethCtbmwxVVjeZXalK6EzGf52ykfDlbfqX2TJkVg=; b=vUkZjAiqe1MaENLAtCNcHc3UpXA9CN1HQSEkcVq38xEA9Nm1L76nO/n05QtcMHSWVm qPkhWXVVHL+U12n0S7gx16CMHCZEbVz19PNHZh1wOGI7Txbyr5dMAWZtqT8xEl0cwTtN c4BNqKw8J80gmoSyNDO+AB8sK4jpsrPRmebRgh8e6mEAUzVXTA9ADMOu7qD+MOlmYqmu 9/TEV7J06iE5Vt1xwagYnZDq5GI4fqpKf3+fTO9+4JqGQnaOlFqyZvH94hSp1CsD/sxG 7SZokAwJA32WSG9G7UiZt/JgAXzhBYHzZu9+OUH26x+REIrHOCi/62ZhBiIzaVEpwhHe 02HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=qdaethCtbmwxVVjeZXalK6EzGf52ykfDlbfqX2TJkVg=; b=aGXXFHGNiFCSY0z0hVFKIS4ZR4p8YbDb2oT0muCclxiwbxRdqpDKY3OaG9QTxPOOHQ 3ZSDyWH3eEmEIGXSBbwrAZsbgMoK/UuopK2oiBR/IEBpE4A48XsmTuV5xwE1PcGbZGbg yGbQS765CrUofsfxiCq5rS9G2dP5xIC/ub2IwdsYop06hZtHkFd4rg1tIHu98kZY0j/e D51Si1x9dRSi772dJcECNaH6QakQDwN+IxDQFVmBbIGRz7koBiLpvXZTRrV0CznQuUOR 3my2c4ZfdRduYOgCIqlavGqEl/SMmeOhQaaj0InlOH7MFXZbzKIli0b0kPyL2k5fZePE NUxg== X-Gm-Message-State: AOAM532P+CgvLrXUkfuULyUVEXRmLVfhMaku/e2sBytsU1HguHtuFRfm 8jc/UF7mozOWckkRTNypQ+L9uSkI+9g= X-Google-Smtp-Source: ABdhPJw0b9oM3ooLZseqYXZhs7Ci6R9aXgnT6N1WswBsMBgP8XfaYYLhpzRFVQC/GuNQVACNQQ7zKw== X-Received: by 2002:adf:f2c5:: with SMTP id d5mr5807558wrp.96.1594735103363; Tue, 14 Jul 2020 06:58:23 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 5/9] hw/sd/sdcard: Restrict Class 6 commands to SCSD cards Date: Tue, 14 Jul 2020 15:58:10 +0200 Message-Id: <20200714135814.19910-6-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200714135814.19910-1-f4bug@amsat.org> References: <20200714135814.19910-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::441; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x441.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: Peter Maydell , qemu-block@nongnu.org, qemu-stable@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Alexander Bulekov , Alistair Francis , Prasad J Pandit , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Only SCSD cards support Class 6 (Block Oriented Write Protection) commands. "SD Specifications Part 1 Physical Layer Simplified Spec. v3.01" 4.3.14 Command Functional Difference in Card Capacity Types * Write Protected Group SDHC and SDXC do not support write-protected groups. Issuing CMD28, CMD29 and CMD30 generates the ILLEGAL_COMMAND error. Cc: qemu-stable@nongnu.org Reviewed-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-Id: <20200630133912.9428-7-f4bug@amsat.org> --- hw/sd/sd.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 5137168d66..1cc16bfd31 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -920,6 +920,11 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SD= Request req) sd->multi_blk_cnt =3D 0; } =20 + if (sd_cmd_class[req.cmd] =3D=3D 6 && FIELD_EX32(sd->ocr, OCR, CARD_CA= PACITY)) { + /* Only Standard Capacity cards support class 6 commands */ + return sd_illegal; + } + switch (req.cmd) { /* Basic commands (Class 0 and Class 1) */ case 0: /* CMD0: GO_IDLE_STATE */ --=20 2.21.3 From nobody Fri May 17 05:26:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1594735551; cv=none; d=zohomail.com; s=zohoarc; b=Ug1rrR7PlCKjKXbNSszc2GzzA/hA3ROj0EgfuQqIICiViKt7D0Zx5Ell+wZynC9mg3U2Sq7CCc3TmrEJAbJPsSF1g//5Nf8E2ujJWjFRAqeLGEeP9vw6VvB//rAM3uqwEFhYLZvNoOIVUvN1AKr5kDWLglNlVwvLaPIAySi7cng= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594735551; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=NesnoNVp8mV726mwx9/wPWtnd6LQdD+PlLDlGLZ9HWI=; b=jIguIIRdY8P5ZD4qlFUuNCba3tBqBoWIYMFzKGaqq57ba7m+Bo4tcPZPn0w23+sGvPylz69+audF/4RBCCCVNbeMInNMhTVQId7xwHdIbLwEAzVh/uzumVTdPT66luUIkjiqw59QVfXOW1IT4Z+ivkj+jwxO1YWbMu2h2v7nRpY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1594735551358394.3052014778814; Tue, 14 Jul 2020 07:05:51 -0700 (PDT) Received: from localhost ([::1]:42098 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jvLZ8-0006Rx-2l for importer@patchew.org; Tue, 14 Jul 2020 10:05:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35018) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jvLS0-0004Ej-0c; Tue, 14 Jul 2020 09:58:28 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:33381) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jvLRy-0003Ri-Bv; Tue, 14 Jul 2020 09:58:27 -0400 Received: by mail-wr1-x430.google.com with SMTP id f18so21795698wrs.0; Tue, 14 Jul 2020 06:58:25 -0700 (PDT) Received: from localhost.localdomain (138.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.138]) by smtp.gmail.com with ESMTPSA id k14sm29145343wrn.76.2020.07.14.06.58.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2020 06:58:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NesnoNVp8mV726mwx9/wPWtnd6LQdD+PlLDlGLZ9HWI=; b=I6pAIttMUqG98BijImPqRzKmcrSjPxvRWNG2VWuXWiMOHZr8UsKxnIZKzBaumPvIHK 3VUKjJQ3ZjXYj4V5RQ4F6OO9FD4cdR0w7k7FlwhV4MLiewVtYXXvdcQ1j0od3e9b9abc YM8YxpUlxidF2I2PS2AmI2RxUNaSLXp1Che6Kr0RI/tYvUBiEn8iHeDLZkXQQIsFQhV9 Np72SxihJgRyxOecDmQvDxX8BK8gQK/CFNSee1Dv0eAwLEBPmH/GoUGjAUHEs6VtnMeE R7RoxziprebmQOvAAdUdwJP2EFBXWPOSImd7ZxsRnQUOxoBdy/KaJRxr0n/7D3d0bthD QVzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=NesnoNVp8mV726mwx9/wPWtnd6LQdD+PlLDlGLZ9HWI=; b=iRMnItcrAbpHqaNl4+M4H6rFndWY5xzfEsCuHEcSM58ja5ugP1gpt5oIMShH6zneFY BGYcbIXlz4Op4UByojprWfhhZWqhJj3uZss6xAwvJJ9oTXFakz2Jwu3EUFnF5b8dqpv8 OGl6tBOOnXjlOawgpDtxdya1MfsXA5RZFUGM1o8Xcr7T0m20pWuuSuDPBnWASl77EkUB yRxjGPQ2VuRn1CHs2yNa/h4jSgB9F3B4utYmIxqjaPUWtuoLiVvGaQ/5L29MDAoktnok Z7BeAILeAKDZCGBsb6JGgWQwOyi0LOUrX076xtdKfmf7OrSI4dKj1ihZy6E8gPIrI/8g O4VA== X-Gm-Message-State: AOAM532iErHFjButma+EBE1zFO77XiCtwSWVP2hAGBgPuTat1ymffyQC j0yFCIPzZEFYOVzgXVmOo+aFVtVI5Es= X-Google-Smtp-Source: ABdhPJyN+lvL+athT0CXrcnfjGhVJt2CDbAdXkR2mAm2I4kWR+XepSiklRqASrecGHaFZC3HyChTmw== X-Received: by 2002:adf:c3c7:: with SMTP id d7mr5535242wrg.51.1594735104542; Tue, 14 Jul 2020 06:58:24 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 6/9] hw/sd/sdcard: Simplify realize() a bit Date: Tue, 14 Jul 2020 15:58:11 +0200 Message-Id: <20200714135814.19910-7-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200714135814.19910-1-f4bug@amsat.org> References: <20200714135814.19910-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x430.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Prasad J Pandit , Alexander Bulekov , Alistair Francis , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) We don't need to check if sd->blk is set twice. Reviewed-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-Id: <20200630133912.9428-18-f4bug@amsat.org> --- hw/sd/sd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 1cc16bfd31..edd60a09c0 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -2105,12 +2105,12 @@ static void sd_realize(DeviceState *dev, Error **er= rp) return; } =20 - if (sd->blk && blk_is_read_only(sd->blk)) { - error_setg(errp, "Cannot use read-only drive as SD card"); - return; - } - if (sd->blk) { + if (blk_is_read_only(sd->blk)) { + error_setg(errp, "Cannot use read-only drive as SD card"); + return; + } + ret =3D blk_set_perm(sd->blk, BLK_PERM_CONSISTENT_READ | BLK_PERM_= WRITE, BLK_PERM_ALL, errp); if (ret < 0) { --=20 2.21.3 From nobody Fri May 17 05:26:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1594735316; cv=none; d=zohomail.com; s=zohoarc; b=JSOs4c7ZbOuuxewq5bhh2zmksQ80fRXGp0vomJd9VIBkZoMqScYxDhr+SIR/OJuJGPtIpeTE+djO2uX0uU1iIK1ywI996qNUWyA4xVcK5E8CYO0qa0Ipyf/mytz+DFDMMJw7GUq9QEgZ2SFQDuxla3apOektebujpBa0pqec0m8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594735316; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=OgXNH+mo7JKklLu9qpEEEuuMSFXzixG0CeB5oAL2ys8=; b=SllSEmwBYoxHyoPWzULuAOLlnG0fIbEXA5qEbtwFkBfl2IbY3EwixdQGhpJsUK63+MNAHMdjlXmCJEYXLBArQM4mSkhKE8N0U5w5BfaBYPiiEVJL592WgCAwXlxRGQmiaQx5DBtrRXTt9wSUUW3EVBEVhT1PdNj5qk+mCpRALi4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1594735316123975.9840966510176; Tue, 14 Jul 2020 07:01:56 -0700 (PDT) Received: from localhost ([::1]:57590 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jvLVJ-0001Co-Hq for importer@patchew.org; Tue, 14 Jul 2020 10:01:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35048) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jvLS1-0004HT-Iq; Tue, 14 Jul 2020 09:58:29 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:42884) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jvLS0-0003Rw-0W; Tue, 14 Jul 2020 09:58:29 -0400 Received: by mail-wr1-x42c.google.com with SMTP id o11so21819163wrv.9; Tue, 14 Jul 2020 06:58:26 -0700 (PDT) Received: from localhost.localdomain (138.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.138]) by smtp.gmail.com with ESMTPSA id k14sm29145343wrn.76.2020.07.14.06.58.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2020 06:58:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OgXNH+mo7JKklLu9qpEEEuuMSFXzixG0CeB5oAL2ys8=; b=kPMFKtAmJi6RrjZ2Th33EPcuBpK2HbrWwcOUfvE6ljXSrz/a8eabjwFjLP/GG0JUS9 zDlhfLDH+NQlm0nwbV7TdV7ymnysl9gCgKHrxwZO5wuCLOh4iTMqXo0xqfNs+QlwZxCV 7T0TOwU03rTnGk29Pfaowa8lCSAoVVNvoEUX0blhJM+ejyEKf0I/FzFnaIuZBEddfiGP 5hfYqpiKx+gz7sg9mycHfLsLede2XHpnlNS9NsIAt9AR/MXFTrZDqi2usmXTmL6Drtmk 9O/34dwY8zi/6uQ7efwi/qUOs9jvSSlrHfFG410GtZY3QVQHj3zGvDLBdiJY4Q1sLeMI JlTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=OgXNH+mo7JKklLu9qpEEEuuMSFXzixG0CeB5oAL2ys8=; b=jq1Rr+nTL1sOh1afxmME7JdCv4KrMXWK8qQGg4A3hAPUcW91aY+Tbb1SgTSEeoheBY no9PYYIt6w3RExt3MQG3Zbr8cTSyZTyNHvcueabF5y9oGS19RbtDDPBJO4dNhnrofixj aWsho6c/ZxcNfaOfneW3oBlhrs9mfnq/ZY9AM0igbmsTTdRfG9JyqlygFC6dJ6LOFzgP iobw3ruG1AlcwJ2EXyy73ZGe1ApSDaL7Ukca+10EnUIRZ50Kr2m2r5s0OdJ+m+72vf03 f31JASFu07ugLYQrXmiPnrzrbF3/qBL0zKbw0HXfTtE0E28AOJMLJ1wwO0rX3kQXIBPw KiGA== X-Gm-Message-State: AOAM5314nj9iO7Q+hkAkoYx6z/aE3raH790/3T9Kglw/rF9bJa7aun6z UxWXGK7gDE6H7LXamY/Ild8up03yif4= X-Google-Smtp-Source: ABdhPJw2KNDs5CWDaXQToY2owl6wW2f2eOz4nnT7mIBGo+CyzoTFVIULuX8KLhnAKu06AwFzyWEACQ== X-Received: by 2002:a5d:424f:: with SMTP id s15mr6078414wrr.342.1594735105632; Tue, 14 Jul 2020 06:58:25 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 7/9] hw/sd/sdcard: Do not allow invalid SD card sizes Date: Tue, 14 Jul 2020 15:58:12 +0200 Message-Id: <20200714135814.19910-8-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200714135814.19910-1-f4bug@amsat.org> References: <20200714135814.19910-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x42c.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: Peter Maydell , qemu-block@nongnu.org, qemu-stable@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Alexander Bulekov , Alistair Francis , Prasad J Pandit , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) QEMU allows to create SD card with unrealistic sizes. This could work, but some guests (at least Linux) consider sizes that are not a power of 2 as a firmware bug and fix the card size to the next power of 2. While the possibility to use small SD card images has been seen as a feature, it became a bug with CVE-2020-13253, where the guest is able to do OOB read/write accesses past the image size end. In a pair of commits we will fix CVE-2020-13253 as: Read command is rejected if BLOCK_LEN_ERROR or ADDRESS_ERROR occurred and no data transfer is performed. Write command is rejected if BLOCK_LEN_ERROR or ADDRESS_ERROR occurred and no data transfer is performed. WP_VIOLATION errors are not modified: the error bit is set, we stay in receive-data state, wait for a stop command. All further data transfer is ignored. See the check on sd->card_status at the beginning of sd_read_data() and sd_write_data(). While this is the correct behavior, in case QEMU create smaller SD cards, guests still try to access past the image size end, and QEMU considers this is an invalid address, thus "all further data transfer is ignored". This is wrong and make the guest looping until eventually timeouts. Fix by not allowing invalid SD card sizes (suggesting the expected size as a hint): $ qemu-system-arm -M orangepi-pc -drive file=3Drootfs.ext2,if=3Dsd,format= =3Draw qemu-system-arm: Invalid SD card size: 60 MiB SD card size has to be a power of 2, e.g. 64 MiB. You can resize disk images with 'qemu-img resize ' (note that this will lose data if you make the image smaller than it curr= ently is). Cc: qemu-stable@nongnu.org Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Reviewed-by: Peter Maydell Message-Id: <20200713183209.26308-8-f4bug@amsat.org> --- hw/sd/sd.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index edd60a09c0..76d68359a4 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -32,6 +32,7 @@ =20 #include "qemu/osdep.h" #include "qemu/units.h" +#include "qemu/cutils.h" #include "hw/irq.h" #include "hw/registerfields.h" #include "sysemu/block-backend.h" @@ -2106,11 +2107,35 @@ static void sd_realize(DeviceState *dev, Error **er= rp) } =20 if (sd->blk) { + int64_t blk_size; + if (blk_is_read_only(sd->blk)) { error_setg(errp, "Cannot use read-only drive as SD card"); return; } =20 + blk_size =3D blk_getlength(sd->blk); + if (blk_size > 0 && !is_power_of_2(blk_size)) { + int64_t blk_size_aligned =3D pow2ceil(blk_size); + char *blk_size_str; + + blk_size_str =3D size_to_str(blk_size); + error_setg(errp, "Invalid SD card size: %s", blk_size_str); + g_free(blk_size_str); + + blk_size_str =3D size_to_str(blk_size_aligned); + error_append_hint(errp, + "SD card size has to be a power of 2, e.g. %= s.\n" + "You can resize disk images with" + " 'qemu-img resize '\n" + "(note that this will lose data if you make = the" + " image smaller than it currently is).\n", + blk_size_str); + g_free(blk_size_str); + + return; + } + ret =3D blk_set_perm(sd->blk, BLK_PERM_CONSISTENT_READ | BLK_PERM_= WRITE, BLK_PERM_ALL, errp); if (ret < 0) { --=20 2.21.3 From nobody Fri May 17 05:26:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1594735683; cv=none; d=zohomail.com; s=zohoarc; b=gD5J9tajncWQF8zTHq3OH0mWQ4NcttVlNesu7tJjH4eeKvH3zhFoCs5+mLVbJmGCTNC+QU6HejuI0LUWu0Dbxu5XCbL398APlbvwfiIplxdm6xS7qGn22iiI+34HEAFIj/yyWkfYxNcUAYBgGhNRo5KftE4ofRtTHaxvD9zVsDw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594735683; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xJNAHPmz369DioNcGM4Scwy8Ugn1lj7QhwxPj6ml31c=; b=n0jaAMI2rTqQHsUTsixwSf+bXEdX6NGwznCiEO5N6Fy/Irgt1cgX82RFO5ZM5OmppE7mt3w+Bsc/bSADwOBZ7mnCtQNcaToqjxxWX3JzDykHxwBGJRwTSRLQT+0FRjRXvbHPuu1J+7V5UiSuZJ+E2uH5A+pCtMHzet1oEJUtz4s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1594735683378193.57447864339224; Tue, 14 Jul 2020 07:08:03 -0700 (PDT) Received: from localhost ([::1]:50248 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jvLbF-0001OM-Q0 for importer@patchew.org; Tue, 14 Jul 2020 10:08:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35084) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jvLS5-0004SD-Vq; Tue, 14 Jul 2020 09:58:34 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:38924) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jvLS0-0003S6-Hi; Tue, 14 Jul 2020 09:58:33 -0400 Received: by mail-wr1-x441.google.com with SMTP id q5so21792786wru.6; Tue, 14 Jul 2020 06:58:27 -0700 (PDT) Received: from localhost.localdomain (138.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.138]) by smtp.gmail.com with ESMTPSA id k14sm29145343wrn.76.2020.07.14.06.58.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2020 06:58:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xJNAHPmz369DioNcGM4Scwy8Ugn1lj7QhwxPj6ml31c=; b=iqye65JM8+hj/MGqzuxOZbmYUlTZ6AdWXw2OCcTI7fNfM+ci6btDSzXyh+o4PT6NW0 dtxXh8OLEL2KJ2Uglc1ahWJUVYaULQxF45co9prwgapp4WN4/JpjeyDMOxvcp4jEexv2 sgLS2tht6pFNAh/bJr3vquRn7dx+Hkzn99l82PykgbWxohN0MHyBIFk/PiNbRuvAYHwd dOqWiTIwmU6Bs3IV1B2YV8fdzxK5z5j1bm1nupkwLzVgoxE2ZU+7ZuWvjKmfZElA05+E YRVbv2IMT4DjmXBGFl4iO8yvgTZBhjct5LDTMp3+O2gqM1dIiSN4RjTslpRaWYqy3ZJy tdQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=xJNAHPmz369DioNcGM4Scwy8Ugn1lj7QhwxPj6ml31c=; b=qcUWpeM2jyZstOfZCAsYc+Y9Vr5hr9dejp7u5RENxa9NR8F0Gk+lZbaIfMDyaRfQYI wBC7mWwoBMm3pAAZ/rnxLnKWZIT8rEnA3TNNyi7tVeIWXGl1uyQ85iuuSSm0p/tPGW4j /Zbm2IU9lw+3ZuzpuC5OZOVVQ2aZjL1/8N4iPIY3hFZTkqxKp4133v5DR73Cr6JYGLrs 6Ky6EX3wzFddciBgxlZbQvraH5zKH7VsvKynLmghlLru0CNdkzhKybMfVSnsMO+1jtlG HNACWThVE/YZatoEJhx9ITImAzVWpCL4SqOVqbwDa/XqjI9Ml8HS124I3UsKxQrj7UmM hKmg== X-Gm-Message-State: AOAM530/gCGzlfBw+zxG+drPz0VBjmSOxKPITJapt104Lnc3afXFAWtp 0PgSPnaMR+2eIaA1o3yhb1VP/BxR9GA= X-Google-Smtp-Source: ABdhPJyiSvaSVhQJ+rJxWSsOVCQeB7z/TtQcouCdy8qB9Ok/ybsZwGmOt0M246FzkaFMGUQJTI2hgw== X-Received: by 2002:adf:f34f:: with SMTP id e15mr5769852wrp.415.1594735106722; Tue, 14 Jul 2020 06:58:26 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 8/9] hw/sd/sdcard: Update coding style to make checkpatch.pl happy Date: Tue, 14 Jul 2020 15:58:13 +0200 Message-Id: <20200714135814.19910-9-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200714135814.19910-1-f4bug@amsat.org> References: <20200714135814.19910-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::441; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x441.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=no 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: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Prasad J Pandit , Alexander Bulekov , Alistair Francis , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) To make the next commit easier to review, clean this code first. Reviewed-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Reviewed-by: Alexander Bulekov Message-Id: <20200630133912.9428-3-f4bug@amsat.org> --- hw/sd/sd.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 76d68359a4..f4f76f8fd2 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1175,8 +1175,9 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, S= DRequest req) sd->data_start =3D addr; sd->data_offset =3D 0; =20 - if (sd->data_start + sd->blk_len > sd->size) + if (sd->data_start + sd->blk_len > sd->size) { sd->card_status |=3D ADDRESS_ERROR; + } return sd_r1; =20 default: @@ -1191,8 +1192,9 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, S= DRequest req) sd->data_start =3D addr; sd->data_offset =3D 0; =20 - if (sd->data_start + sd->blk_len > sd->size) + if (sd->data_start + sd->blk_len > sd->size) { sd->card_status |=3D ADDRESS_ERROR; + } return sd_r1; =20 default: @@ -1237,12 +1239,15 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,= SDRequest req) sd->data_offset =3D 0; sd->blk_written =3D 0; =20 - if (sd->data_start + sd->blk_len > sd->size) + if (sd->data_start + sd->blk_len > sd->size) { sd->card_status |=3D ADDRESS_ERROR; - if (sd_wp_addr(sd, sd->data_start)) + } + if (sd_wp_addr(sd, sd->data_start)) { sd->card_status |=3D WP_VIOLATION; - if (sd->csd[14] & 0x30) + } + if (sd->csd[14] & 0x30) { sd->card_status |=3D WP_VIOLATION; + } return sd_r1; =20 default: @@ -1261,12 +1266,15 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,= SDRequest req) sd->data_offset =3D 0; sd->blk_written =3D 0; =20 - if (sd->data_start + sd->blk_len > sd->size) + if (sd->data_start + sd->blk_len > sd->size) { sd->card_status |=3D ADDRESS_ERROR; - if (sd_wp_addr(sd, sd->data_start)) + } + if (sd_wp_addr(sd, sd->data_start)) { sd->card_status |=3D WP_VIOLATION; - if (sd->csd[14] & 0x30) + } + if (sd->csd[14] & 0x30) { sd->card_status |=3D WP_VIOLATION; + } return sd_r1; =20 default: --=20 2.21.3 From nobody Fri May 17 05:26:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1594735594; cv=none; d=zohomail.com; s=zohoarc; b=h2oV7RVYeKH8FXS4F4tAeX9t7Bi487qgsXEDNk7RRkuArr6G15/k5XtzcqC8rlqzHY55lfuzkhvGqwmpkoOF6DItGqr3o2A5dJan1qJNJWwFupASA/n24rIJ6CJchF1lMGbGZ+0ZaCCqQRkEBxK2KiM4D6iUFHb5+Dz72xVOAAA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594735594; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=W0+4/XZhJEEqb40F6krDQlUM+mPLO0uytUGRIoUNtDA=; b=loTOSW1E7OssyARO+DIiyJpZiPt7c/BhVS8G3z/+zvFuKx0hLjh/mhGeu48IzKI+j2VxWfTZcm9diFLux7dB2YnRvOf4qsuPuF/FZ6jlEWaA2aZ6WeXWTP4drivP5owLDkY4DJSTcW/nR5qy66lkYTKyEd+Ue42fQ0kAd8PdUNg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 159473559453072.52421181724765; Tue, 14 Jul 2020 07:06:34 -0700 (PDT) Received: from localhost ([::1]:45634 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jvLZp-0007t7-83 for importer@patchew.org; Tue, 14 Jul 2020 10:06:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35080) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jvLS4-0004NI-92; Tue, 14 Jul 2020 09:58:32 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:38925) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jvLS2-0003SL-EG; Tue, 14 Jul 2020 09:58:31 -0400 Received: by mail-wr1-x442.google.com with SMTP id q5so21792917wru.6; Tue, 14 Jul 2020 06:58:29 -0700 (PDT) Received: from localhost.localdomain (138.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.138]) by smtp.gmail.com with ESMTPSA id k14sm29145343wrn.76.2020.07.14.06.58.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2020 06:58:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=W0+4/XZhJEEqb40F6krDQlUM+mPLO0uytUGRIoUNtDA=; b=eVa22wGQBf/WW2MmnELEUYTMHFNQc4y8BDPWZy4BYWYo/pIt5Az7jzucHzwnh7PQPL k1foFqhijf6Q7bUBxPRC8M+oUzn5nxTbd9yHLl+TuZ8l+BWJ4dDaQOKNRY8yvnrkvLan w3ZhW/ASxEVAGOdlSh88B08tjgpEBeGUlp9MIvEFMhkQplpEaaNgnTGlGkVc8DpN4GbM lenJaB+GsgTyMaF7oj6517z+ZiVUqm3Up9AhPj4mXvRExG03q3UDhn5sQYAkvtCJn2VM ep4FqYfU1ympEN/DaQ4BQaQ0mNKDIt0kOWrF/ip3DSDmfNaFkCc3YEoLOewYFWoXsLmG IAoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=W0+4/XZhJEEqb40F6krDQlUM+mPLO0uytUGRIoUNtDA=; b=aVW7SEVE98DHZGKPhYGPiDmK4rbQ8KdzVTyKl8y49j1ipe6Wllh5B57FiNooSEQd3g IvxDqwKS86iKDb7UfsebSiQvuz0wYAz1UOCfXVqj1Gj8ORqPjdG7tz9g90+PVYOTtIJM lci1RuXevaFgYUT0jnuzQ+A8QAY9UhJD6IUEX+Nf4HucAgiUyKA48ro0IdaIpgEdiLmI 0ZGGJbdH5yTqScRn/pbN2GLZR3uEXINTYZD3Vvb1YozRJslQsKfCnDGy5/9y50FKhqvT n9J3J6T1CA/5KYMQT53fogY7pIWNykjkvG+g5Zv2+wMoMUknTBvV/LvzQSvBy7miNSFH P0Lg== X-Gm-Message-State: AOAM533xgIAeHLmymABuS6AxjEF7ni9uzDec1T2PM4WyIGrz6uhWj5g3 qIkxsPQ7jIdavfHWKE4wBgtb5mHOUmw= X-Google-Smtp-Source: ABdhPJz6sPO3GCpRtcYHGIPZmCIo5qHlzepNW2lR+bjOR2BNEmvaeBjA5TrABDAUdoMSFyElvKtaVQ== X-Received: by 2002:adf:bc41:: with SMTP id a1mr5545739wrh.186.1594735107880; Tue, 14 Jul 2020 06:58:27 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 9/9] hw/sd/sdcard: Do not switch to ReceivingData if address is invalid Date: Tue, 14 Jul 2020 15:58:14 +0200 Message-Id: <20200714135814.19910-10-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200714135814.19910-1-f4bug@amsat.org> References: <20200714135814.19910-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::442; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x442.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: Peter Maydell , qemu-block@nongnu.org, qemu-stable@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Alexander Bulekov , Alistair Francis , Prasad J Pandit , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Only move the state machine to ReceivingData if there is no pending error. This avoids later OOB access while processing commands queued. "SD Specifications Part 1 Physical Layer Simplified Spec. v3.01" 4.3.3 Data Read Read command is rejected if BLOCK_LEN_ERROR or ADDRESS_ERROR occurred and no data transfer is performed. 4.3.4 Data Write Write command is rejected if BLOCK_LEN_ERROR or ADDRESS_ERROR occurred and no data transfer is performed. WP_VIOLATION errors are not modified: the error bit is set, we stay in receive-data state, wait for a stop command. All further data transfer is ignored. See the check on sd->card_status at the beginning of sd_read_data() and sd_write_data(). Fixes: CVE-2020-13253 Cc: qemu-stable@nongnu.org Reported-by: Alexander Bulekov Buglink: https://bugs.launchpad.net/qemu/+bug/1880822 Reviewed-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-Id: <20200630133912.9428-6-f4bug@amsat.org> --- hw/sd/sd.c | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index f4f76f8fd2..fad9cf1ee7 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1171,13 +1171,15 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,= SDRequest req) case 17: /* CMD17: READ_SINGLE_BLOCK */ switch (sd->state) { case sd_transfer_state: + + if (addr + sd->blk_len > sd->size) { + sd->card_status |=3D ADDRESS_ERROR; + return sd_r1; + } + sd->state =3D sd_sendingdata_state; sd->data_start =3D addr; sd->data_offset =3D 0; - - if (sd->data_start + sd->blk_len > sd->size) { - sd->card_status |=3D ADDRESS_ERROR; - } return sd_r1; =20 default: @@ -1188,13 +1190,15 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,= SDRequest req) case 18: /* CMD18: READ_MULTIPLE_BLOCK */ switch (sd->state) { case sd_transfer_state: + + if (addr + sd->blk_len > sd->size) { + sd->card_status |=3D ADDRESS_ERROR; + return sd_r1; + } + sd->state =3D sd_sendingdata_state; sd->data_start =3D addr; sd->data_offset =3D 0; - - if (sd->data_start + sd->blk_len > sd->size) { - sd->card_status |=3D ADDRESS_ERROR; - } return sd_r1; =20 default: @@ -1234,14 +1238,17 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,= SDRequest req) /* Writing in SPI mode not implemented. */ if (sd->spi) break; + + if (addr + sd->blk_len > sd->size) { + sd->card_status |=3D ADDRESS_ERROR; + return sd_r1; + } + sd->state =3D sd_receivingdata_state; sd->data_start =3D addr; sd->data_offset =3D 0; sd->blk_written =3D 0; =20 - if (sd->data_start + sd->blk_len > sd->size) { - sd->card_status |=3D ADDRESS_ERROR; - } if (sd_wp_addr(sd, sd->data_start)) { sd->card_status |=3D WP_VIOLATION; } @@ -1261,14 +1268,17 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,= SDRequest req) /* Writing in SPI mode not implemented. */ if (sd->spi) break; + + if (addr + sd->blk_len > sd->size) { + sd->card_status |=3D ADDRESS_ERROR; + return sd_r1; + } + sd->state =3D sd_receivingdata_state; sd->data_start =3D addr; sd->data_offset =3D 0; sd->blk_written =3D 0; =20 - if (sd->data_start + sd->blk_len > sd->size) { - sd->card_status |=3D ADDRESS_ERROR; - } if (sd_wp_addr(sd, sd->data_start)) { sd->card_status |=3D WP_VIOLATION; } --=20 2.21.3