{"id":2197228,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2197228/?format=json","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/1.0/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260217132936.2736916-2-kavin.gunasekara@arm.com>","date":"2026-02-17T13:29:35","name":"[1/2] test: dm: virtio_rng: Update virtio-rng test","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"73df726493a45b6536c018363fa3f0bb3c4ab92a","submitter":{"id":92658,"url":"http://patchwork.ozlabs.org/api/1.0/people/92658/?format=json","name":"Kavin Gunasekara","email":"kavin.gunasekara@arm.com"},"delegate":{"id":3651,"url":"http://patchwork.ozlabs.org/api/1.0/users/3651/?format=json","username":"trini","first_name":"Tom","last_name":"Rini","email":"trini@ti.com"},"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/20260217132936.2736916-2-kavin.gunasekara@arm.com/mbox/","series":[{"id":492428,"url":"http://patchwork.ozlabs.org/api/1.0/series/492428/?format=json","date":"2026-02-17T13:29:34","name":"virtio: rng: Handle oversized return buffers","version":1,"mbox":"http://patchwork.ozlabs.org/series/492428/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2197228/checks/","tags":{},"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)","phobos.denx.de;\n dmarc=fail (p=none dis=none) header.from=arm.com","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n dmarc=fail (p=none dis=none) header.from=arm.com","phobos.denx.de;\n spf=pass smtp.mailfrom=kavin.gunasekara@arm.com"],"Received":["from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fFglH3xJ5z1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 18 Feb 2026 00:40:59 +1100 (AEDT)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 802C483DDD;\n\tTue, 17 Feb 2026 14:40:41 +0100 (CET)","by phobos.denx.de (Postfix, from userid 109)\n id 5519383C32; Tue, 17 Feb 2026 14:30:57 +0100 (CET)","from foss.arm.com (foss.arm.com [217.140.110.172])\n by phobos.denx.de (Postfix) with ESMTP id 4FB9F80325\n for <u-boot@lists.denx.de>; Tue, 17 Feb 2026 14:30:55 +0100 (CET)","from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4706C1477;\n Tue, 17 Feb 2026 05:30:48 -0800 (PST)","from e142508.manchester.arm.com (e142508.arm.com [10.33.11.66])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7CB093F632;\n Tue, 17 Feb 2026 05:30:53 -0800 (PST)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-1.9 required=5.0 tests=BAYES_00,\n RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,\n RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_PASS,SPF_PASS autolearn=ham\n autolearn_force=no version=3.4.2","From":"Kavin Gunasekara <kavin.gunasekara@arm.com>","To":"u-boot@lists.denx.de","Cc":"sughosh.ganu@linaro.org, xypron.glpk@gmx.de, bmeng.cn@gmail.com,\n trini@konsulko.com, sjg@chromium.org, kavin.gunasekara@arm.com,\n andre.przywara@arm.com","Subject":"[PATCH 1/2] test: dm: virtio_rng: Update virtio-rng test","Date":"Tue, 17 Feb 2026 13:29:35 +0000","Message-Id":"<20260217132936.2736916-2-kavin.gunasekara@arm.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20260217132936.2736916-1-kavin.gunasekara@arm.com>","References":"<20260217132936.2736916-1-kavin.gunasekara@arm.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-Mailman-Approved-At":"Tue, 17 Feb 2026 14:40:39 +0100","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.8 at phobos.denx.de","X-Virus-Status":"Clean"},"content":"The virtio-rng test to verify effective handling of oversized return\nbuffers checks that an (undocumented) error is raised, instead of the\nreal concern, which is the surrounding buffer integrity following a rng\nfunction call.\nUpdate the test to check that the other contents of a buffer remain\nunchanged instead of looking for an error code.\n\nSigned-off-by: Kavin Gunasekara <kavin.gunasekara@arm.com>\n---\n test/dm/virtio_rng.c | 14 ++++++++++++--\n 1 file changed, 12 insertions(+), 2 deletions(-)","diff":"diff --git a/test/dm/virtio_rng.c b/test/dm/virtio_rng.c\nindex e404b08484e..7c3dd50ef3e 100644\n--- a/test/dm/virtio_rng.c\n+++ b/test/dm/virtio_rng.c\n@@ -19,12 +19,19 @@ struct virtio_rng_priv {\n \tstruct virtqueue *rng_vq;\n };\n \n+#define BUFFER_SIZE 16\n+#define CANARY \"CANARYCANARYCANARYCANARY\"\n+\n /* Test the virtio-rng driver validates the used size */\n static int dm_test_virtio_rng_check_len(struct unit_test_state *uts)\n {\n \tstruct udevice *bus, *dev;\n \tstruct virtio_rng_priv *priv;\n-\tu8 buffer[16];\n+\tu8 buffer[BUFFER_SIZE + sizeof(CANARY)];\n+\n+\t/* write known data to buffer */\n+\tmemset(buffer, 0xaa, sizeof(buffer));\n+\tmemcpy(buffer + BUFFER_SIZE, CANARY, sizeof(CANARY));\n \n \t/* check probe success */\n \tut_assertok(uclass_first_device_err(UCLASS_VIRTIO, &bus));\n@@ -44,7 +51,10 @@ static int dm_test_virtio_rng_check_len(struct unit_test_state *uts)\n \tpriv->rng_vq->vring.used->ring[0].len = U32_MAX;\n \n \t/* check the driver gracefully handles the error */\n-\tut_asserteq(-EIO, dm_rng_read(dev, buffer, sizeof(buffer)));\n+\tdm_rng_read(dev, buffer, BUFFER_SIZE);\n+\n+\t/* check for the canary bytes behind the real buffer */\n+\tut_asserteq_mem(buffer + BUFFER_SIZE, CANARY, sizeof(CANARY));\n \n \treturn 0;\n }\n","prefixes":["1/2"]}