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=-10.9 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, 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 54443C433F5 for ; Sat, 11 Sep 2021 07:29:28 +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 8F1CC6113A for ; Sat, 11 Sep 2021 07:29:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 8F1CC6113A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmx.de 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 4A5F383777; Sat, 11 Sep 2021 09:29:04 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="PfXhDyDK"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 43B4F83773; Sat, 11 Sep 2021 09:28:56 +0200 (CEST) Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 5368783743 for ; Sat, 11 Sep 2021 09:28:48 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1631345326; bh=uuDUrL9GhF7Qn5Ijarpz9M0AgMtxBdoAg36TO51HtWI=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=PfXhDyDKXJTwO4uP6JRta22xo6vXAvzaPyTBulKOQtVgDaumreE8Y9UiBWKeIgwRb 7Stao02K1EP93TRdTyhpv0JMmMgyjCPRDPK/cOCKTGL6gCvUYwRpD9hyG6mm49Z1dF fJe4fyjWN9s7hFzQ6exsoV6RaY6lJqve5pmb8C4Q= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from LT02.fritz.box ([88.152.144.157]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1Mv31c-1nFp4o2rzs-00qysO; Sat, 11 Sep 2021 09:28:46 +0200 From: Heinrich Schuchardt To: u-boot@lists.denx.de Cc: Ilias Apalodimas , AKASHI Takahiro , Sughosh Ganu , Masahisa Kojima , Alexander Graf , Heinrich Schuchardt Subject: [PATCH 3/4] efi_loader: simplify efi_sigstore_parse_sigdb() Date: Sat, 11 Sep 2021 09:28:31 +0200 Message-Id: <20210911072832.16991-4-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210911072832.16991-1-xypron.glpk@gmx.de> References: <20210911072832.16991-1-xypron.glpk@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:kPiWdznNzB2E4FN3Th5M+DJ6BiQkejSyLyC/XJC3r/jDpqkWFOj 5wWyG0NJbO6gunqsaRKaDVntlz1ylVHBEKJ94LNI/GWRdjTM00dpDtlnTUXvx0+6QLsISmZ +ojQHv31eRh/qCYohjZHMEN6A5n3I+MtoFPKfMsIg/0Xc5ZGNOg3rBkyDLKO3V/QmuQFCiM DVBWJrmAvSLooe4D9r4CA== X-UI-Out-Filterresults: notjunk:1;V03:K0:xo48tohki9A=:477HpqP3ttfU9yoFTPp5qO Ba8WWkIpKJFRzhlEu16wEaQKWGB2aQjrc7z7U/2k0zoiC59zfHq8oZH/Yq/aakKKkRuWAXkAd OvC7snIC6G1AXObjfC9VuG5J0S8FR0/TkpYnIKcxL7L1XYu1z9O1iE4ROgIuxTpzHN63yPKQJ S1WB0s5/m74nmMkrP2BZJTCROIoZG0OAIiHV7lo4q7YU5i+J+ci+nAasM5P2S7HlxI4CMO6ET SK3/RqGAy/SjkTdLXNNZWsAZ/4TkYmnmO9f+GVNWpRZGmNunZ4aGrS31uc1zdAK0Coo0vjGZc Zvt+YYd/VV9PtsB4Gx4uwcy0MQ6zjLAdC+EogATbhPjkazlb4meAVu8l1hYAKDgJQoghvkrcD HnDbUDjtZOpuqLLcX3TDyPwUJIF8J1ATIM1Wa716ibXlfWrFpjXJTAjt5UEin30nw8miOvtT0 FU9db9N2gKtmPatgV+Lww1FtkPdWMtmhgY+Ckumc4d90exQuU1ddGTyOHvLeLqlbi+PxkM7LM wm0uZDunY60wQTTXuRHLVT+pZ1PR9uSkbH1icQiP11nGbIS7SODzdGOnQI3eVyJ/vbfQ3wMw1 kubHx/w7HVT3UA626ud3fn5Y/v9pQns7lkgbtGat+BFP9M4t1Hh3LeNRWXu2/lHEAH16ACHlx RyoUVBPBSvOiRJj+aEy60cqB3I+L+2Eb0m1HMKv4qQi8jts/QvisErpAiJTqtoD0AWTPdWShl XbeeD1qoBXN03Kwoq/gKQk3BM8ZhG7qFoqzSN1CLWbuwSET5UGYPVylYlCioAMkQKOo7ptntS a/TPWizQqsthkMm5aQ9dP+fOkkwX0s0ciRNh4/GBgBeUq7JQQlbhjuPjpTapnR476R/SSFDB/ s4TLemYM+Dxyd5H24KeGqzQuJME8hLHTPnFWu4BX/tL7wPW8aRC+thvhL+gnvGfc9xjJIyZwJ T6wX+/FkO2w7ZhynRVdR+Q8gg3M+JxPnLmXzI2iMEMPgekwXmUoKimIAf4l+xgCOUOC86sCkD VwbkYigwteyeeCzkoPd52q+NvcdhOt6Z11blawtJFYDymVWWP8qrnSc4NmSbh3IQIfOLlxxRv dGGvOSATVEezx0= 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 Simplify efi_sigstore_parse_sigdb() by using existing functions. Signed-off-by: Heinrich Schuchardt =2D-- lib/efi_loader/efi_signature.c | 35 ++++++---------------------------- 1 file changed, 6 insertions(+), 29 deletions(-) diff --git a/lib/efi_loader/efi_signature.c b/lib/efi_loader/efi_signature= .c index bdd09881fc..b741905a99 100644 =2D-- a/lib/efi_loader/efi_signature.c +++ b/lib/efi_loader/efi_signature.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -740,44 +741,20 @@ err: */ struct efi_signature_store *efi_sigstore_parse_sigdb(u16 *name) { - struct efi_signature_store *sigstore =3D NULL; const efi_guid_t *vendor; void *db; efi_uintn_t db_size; - efi_status_t ret; - if (!u16_strcmp(name, L"PK") || !u16_strcmp(name, L"KEK")) { - vendor =3D &efi_global_variable_guid; - } else if (!u16_strcmp(name, L"db") || !u16_strcmp(name, L"dbx")) { - vendor =3D &efi_guid_image_security_database; - } else { + vendor =3D efi_auth_var_get_guid(name); + if (!vendor) { EFI_PRINT("unknown signature database, %ls\n", name); return NULL; } - /* retrieve variable data */ - db_size =3D 0; - ret =3D EFI_CALL(efi_get_variable(name, vendor, NULL, &db_size, NULL)); - if (ret =3D=3D EFI_NOT_FOUND) { - EFI_PRINT("variable, %ls, not found\n", name); - sigstore =3D calloc(sizeof(*sigstore), 1); - return sigstore; - } else if (ret !=3D EFI_BUFFER_TOO_SMALL) { - EFI_PRINT("Getting variable, %ls, failed\n", name); - return NULL; - } - - db =3D malloc(db_size); + db =3D efi_get_var(name, vendor, &db_size); if (!db) { - EFI_PRINT("Out of memory\n"); - return NULL; - } - - ret =3D EFI_CALL(efi_get_variable(name, vendor, NULL, &db_size, db)); - if (ret !=3D EFI_SUCCESS) { - EFI_PRINT("Getting variable, %ls, failed\n", name); - free(db); - return NULL; + EFI_PRINT("variable, %ls, not found\n", name); + return calloc(sizeof(struct efi_signature_store), 1); } return efi_build_signature_store(db, db_size); =2D- 2.30.2