From mboxrd@z Thu Jan 1 00:00:00 1970 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=-17.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 12484C4338F for ; Tue, 27 Jul 2021 08:10:12 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C08AD611F2 for ; Tue, 27 Jul 2021 08:10:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org C08AD611F2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=foss.st.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8249F8333B; Tue, 27 Jul 2021 10:10:07 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=foss.st.com header.i=@foss.st.com header.b="SFQyIWN0"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7A3A383343; Tue, 27 Jul 2021 10:10:05 +0200 (CEST) Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C8201832FE for ; Tue, 27 Jul 2021 10:09:59 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=prvs=1842a12fca=patrick.delaunay@foss.st.com Received: from pps.filterd (m0241204.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 16R82ESG001953; Tue, 27 Jul 2021 10:09:56 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=subject : to : cc : references : from : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=selector1; bh=hNSE2o3mTLQB6DJC2vf1M+YdSUXaudzyghcBFoSbx2o=; b=SFQyIWN0dm7Hk50opQcw7UW6TUMag1S5mc5zmRQkPG5wUboIYO4Byi6bfgHwlqKkVrE+ LZQSNYQDMoCYJeGyxKrLbISyr/kh/LIE8zwo/exTwr2rQdqvzxiAJJHmnG561kFZB6iB yYEplHd1yXZCdyn2O71VJ5Pp2gQ5T5uNV9nAA7eNRPvF7+Dmx3fOE1phv9phREAsX+pd /mkLQWFxfIpoXfNn4PwDc2f2OzYiSE4nu6j++2V+kaF9IHbHNrrpcOi3oaHUcBaKpsBP V4mmQQYnqBACJ+wV2lohqYbhIjZyAm4qtG7VfNVd6ifMPcX3eRM54tsZhlw/Yxm3V8Vv KA== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 3a235htuwt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 27 Jul 2021 10:09:56 +0200 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 3E12210002A; Tue, 27 Jul 2021 10:09:56 +0200 (CEST) Received: from Webmail-eu.st.com (sfhdag2node3.st.com [10.75.127.6]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 13DBA218CB2; Tue, 27 Jul 2021 10:09:56 +0200 (CEST) Received: from lmecxl0994.lme.st.com (10.75.127.47) by SFHDAG2NODE3.st.com (10.75.127.6) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 27 Jul 2021 10:09:55 +0200 Subject: Re: [PATCH v5 5/5] test: dm: Add test for ECDSA UCLASS support To: Alexandru Gagniuc , CC: , , , Patrice CHOTARD References: <20210517183904.853304-1-mr.nuke.me@gmail.com> <20210517183904.853304-6-mr.nuke.me@gmail.com> From: Patrick DELAUNAY Message-ID: Date: Tue, 27 Jul 2021 10:09:54 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20210517183904.853304-6-mr.nuke.me@gmail.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Originating-IP: [10.75.127.47] X-ClientProxiedBy: SFHDAG1NODE1.st.com (10.75.127.1) To SFHDAG2NODE3.st.com (10.75.127.6) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.790 definitions=2021-07-27_05:2021-07-27, 2021-07-27 signatures=0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Hi Alexandru, On 5/17/21 8:39 PM, Alexandru Gagniuc wrote: > This test verifies that ECDSA_UCLASS is implemented, and that > ecdsa_verify() works as expected. The definition of "expected" is > "does not find a device, and returns -ENODEV". > > The lack of a hardware-independent ECDSA implementation prevents us > from having one in the sandbox, for now. > > Signed-off-by: Alexandru Gagniuc > Reviewed-by: Simon Glass > --- > configs/sandbox_defconfig | 2 ++ > test/dm/Makefile | 1 + > test/dm/ecdsa.c | 39 +++++++++++++++++++++++++++++++++++++++ > 3 files changed, 42 insertions(+) > create mode 100644 test/dm/ecdsa.c > > diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig > index 7b8603d1ef..e40bcb4b16 100644 > --- a/configs/sandbox_defconfig > +++ b/configs/sandbox_defconfig > @@ -287,3 +287,5 @@ CONFIG_TEST_FDTDEC=y > CONFIG_UNIT_TEST=y > CONFIG_UT_TIME=y > CONFIG_UT_DM=y > +CONFIG_ECDSA=y > +CONFIG_ECDSA_VERIFY=y > diff --git a/test/dm/Makefile b/test/dm/Makefile > index c9644617a1..3508aa1968 100644 > --- a/test/dm/Makefile > +++ b/test/dm/Makefile > @@ -34,6 +34,7 @@ obj-$(CONFIG_DEVRES) += devres.o > obj-$(CONFIG_DMA) += dma.o > obj-$(CONFIG_VIDEO_MIPI_DSI) += dsi_host.o > obj-$(CONFIG_DM_DSA) += dsa.o > +obj-$(CONFIG_ECDSA_VERIFY) += ecdsa.o > obj-$(CONFIG_DM_ETH) += eth.o > ifneq ($(CONFIG_EFI_PARTITION),) > obj-$(CONFIG_FASTBOOT_FLASH_MMC) += fastboot.o > diff --git a/test/dm/ecdsa.c b/test/dm/ecdsa.c > new file mode 100644 > index 0000000000..9c0007b180 > --- /dev/null > +++ b/test/dm/ecdsa.c > @@ -0,0 +1,39 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later > + > +#include > +#include > +#include > +#include > +#include > + > +/* > + * Basic test of the ECDSA uclass and ecdsa_verify() > + * > + * ECDSA implementations in u-boot are hardware-dependent. Until we have a > + * software implementation that can be compiled into the sandbox, all we can > + * test is the uclass support. > + * > + * The uclass_get() test is redundant since ecdsa_verify() would also fail. We > + * run both functions in order to isolate the cause more clearly. i.e. is > + * ecdsa_verify() failing because the UCLASS is absent/broken? > + */ > +static int dm_test_ecdsa_verify(struct unit_test_state *uts) > +{ > + const struct ecdsa_ops *ops; > + struct uclass *ucp; > + > + const struct checksum_algo algo = { > + .checksum_len = 256, > + }; > + > + struct image_sign_info info = { > + .checksum = &algo, > + }; > + > + ut_assertok(uclass_get(UCLASS_ECDSA, &ucp)); > + ut_assertnonnull(ucp); > + ut_asserteq(-ENODEV, ecdsa_verify(&info, NULL, 0, NULL, 0)); > + > + return 0; > +} > +DM_TEST(dm_test_ecdsa_verify, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT); When I prepare the stm32 pull request, I detect a issue with this patch in CI pipeline: https://source.denx.de/u-boot/custodians/u-boot-stm/-/jobs/298432 + sandbox test.py + sandbox with clang test.py With the same errors: Building current source for 1 boards (1 thread, 32 jobs per thread)    sandbox:  +   sandbox +test/dm/ecdsa.c:30:15: error: initializing 'struct checksum_algo *' with an expression of type 'const struct checksum_algo *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] +                .checksum = &algo, +                            ^~~~~ +test/dm/ecdsa.c:22:26: error: unused variable 'ops' [-Werror,-Wunused-variable] +        const struct ecdsa_ops *ops; +                                ^ +2 errors generated. +make[3]: *** [scripts/Makefile.build:253: test/dm/ecdsa.o] Error 1 +make[2]: *** [scripts/Makefile.build:394: test/dm] Error 2 +make[1]: *** [Makefile:1815: test] Error 2 +make: *** [Makefile:177: sub-make] Error 2     0    0    1 /1              sandbox Can you correct this issue. Thanks, Patrick