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=-13.8 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,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 C8FFCC11F64 for ; Thu, 1 Jul 2021 08:21:15 +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 4291861468 for ; Thu, 1 Jul 2021 08:21:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4291861468 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9CE5E8329E; Thu, 1 Jul 2021 10:21:08 +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="Xuq1swDv"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C6AE983290; Thu, 1 Jul 2021 10:21:03 +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 6B5A08329B for ; Thu, 1 Jul 2021 10:20:57 +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=1625127656; bh=T+TbZeQGMiDsWR3oAoiTW+Ix75LogoV/k1zLRYAOW+w=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=Xuq1swDvbwsgIodtF7LmS3/oX259sxShligBuRgGewwu4Zx9pvj3DbGO7p8FsUnvy 4fJGepPRLeb7NpZvdBZfOgYHiQpWKCAPxk/YZ1b/BEmhJZkcenQUbfVFg4us9LmWK6 t0Bix2QfcowfR1rEikeO6pEbxvE6KQBn/qEMvT1c= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from LT02.fritz.box ([88.152.144.157]) by mail.gmx.net (mrgmx104 [212.227.17.174]) with ESMTPSA (Nemesis) id 1N1fii-1lEhGK08Fc-011wRy; Thu, 01 Jul 2021 10:20:56 +0200 From: Heinrich Schuchardt To: u-boot@lists.denx.de Cc: Alexander Graf , Ilias Apalodimas , Heinrich Schuchardt Subject: [PATCH v3 1/2] efi_loader: fix set_capsule_result() Date: Thu, 1 Jul 2021 10:20:48 +0200 Message-Id: <20210701082049.68150-2-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210701082049.68150-1-xypron.glpk@gmx.de> References: <20210701082049.68150-1-xypron.glpk@gmx.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:LCsrwNmK/ny5AvA/eE1Rj0dftn9wKqimwAdQAOWySNrNN9B/C5b tYEwU9UTlsgOhNydq1eUs20qrH6lwQK8dr919lhKzQVEEokp/r9GehksTQX8pgKwjQtiGvo 3YBHx5WJaHqft7gloMQaoEPv0YsYTENNBWcG83umkbr+WVYgq300UaFNxvLNfHdSnKgUai5 X2vTB1FZzmdNbMQzzuY1Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:gUK0DadFjE8=:cnyXc+EwUwmktba+1cL+lQ Unu2z12Oe2I3axWKrtTQxtx0m3xrGOTeIwf5OQa5KS37oNYVJZzRZDzF3eI7/Ig4RVCXnyECR 52p17gpcHZlaul6jTD62V7EFdCgq4e8dqCWiRXQgwngOuGOkc+F3ZaIX1jHdB2kofBdlfYXvM 79Gvngl5MA73IuVvHKIeJQhJfy30eTYro8mTPdPBDK8fgh0f3XZ2gg0pt/SXgr5PQhAAanD4I 2eS++t/pYkHYKEKwr3RpVPGbUKWO67/zFE6gEDZiIxrZeF4f+voF9a4Q82MeVNN3jCFGYd1/N Eny44+K2/qVB3Z92wppPVElAZlgc9LeEiz41aWDyr/qsUXeYiXZLdylTO2TlN9pMnEc7xeCov bLJ00aTaqjpmd06vhLEcTLRMkhm8xySTM+ed36agnDeXIUVS2tCkw/9ofL8vvOiTTU9xfJjrg BJx9UwhVIknzGfN+vTL1vI9Bzkpc+FeqM2eYe/YnYqa5sfUU2w1MR5p1lwU4OuZGKbDf8cvTo TP6xn+alqgP5CmMMzOMv/V6O7YfPA5u19TSetN9QNhugT8YKeMcoryV7fUn0UqAGXEdTOVXUR V13fhcgeSp5MgxR04rKjMw8/MONO4iQAkrIG9V+r4LC5DUR8/l7Y4D8edU07jBDSMxT8L6fMI Anp6b3tem4cytJhsVRK1VBdyxoKHDfXbUkWsGfFcFpXXKKte8SMWLjWrkvgTxxBoP6jxl4LkJ HneQT0NessVtlBD+YHrJFZNHFOCCvz2mi1VY/XiV9C24L1C1t9BhKJIGTXZtayMjdb0cIBZ67 xh5GWPXzBcAbJoOGUu4Vhb2UWjYG9hFwa9U22MLY8dlQt9TyIWloxl+b9uRLUd4CBlQxraT1b lpoC1Amp9Z5e/L1NcKmGgoDvqjX3ZscwmckUi7Bvd/jI3TgNpmlT+NOPFizfGH2L5zFHrgctC czh0DQSp6AfD0xagoXLi/7Mja3qw9Bk/Hg2VU/XBdrDYPPOnyLmFCog6nPr67XjqzeeJ9pLGK 6unOal2Vo/1ykv/8TQhGQx/YpmFRBKGwlhRychMfXyaPj+ipkMonHX/no6UOYJcm+pG1ROSLA Sq3ZPqM52iOcFe0Jzydm8gqZHQbEpKxScq+ 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 The log category must be LOG_CATEGORY LOGC_EFI. efi_set_variable() should be called with EFI_CALL(). Use efi_set_variable_int() instead. A log text "Updating ..." if SetVariable() fails does not make sense for a variable that is not required to be preexisting. Signed-off-by: Heinrich Schuchardt =2D-- v3: no change =2D-- lib/efi_loader/efi_capsule.c | 39 +++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c index 2c37a0d97b..f87ef2a514 100644 =2D-- a/lib/efi_loader/efi_capsule.c +++ b/lib/efi_loader/efi_capsule.c @@ -6,6 +6,8 @@ * Author: AKASHI Takahiro */ +#define LOG_CATEGORY LOGC_EFI + #include #include #include @@ -95,13 +97,25 @@ void set_capsule_result(int index, struct efi_capsule_= header *capsule, else memset(&result.capsule_processed, 0, sizeof(time)); result.capsule_status =3D return_status; - ret =3D efi_set_variable(variable_name16, &efi_guid_capsule_report, - EFI_VARIABLE_NON_VOLATILE | - EFI_VARIABLE_BOOTSERVICE_ACCESS | - EFI_VARIABLE_RUNTIME_ACCESS, - sizeof(result), &result); - if (ret) - log_err("EFI: creating %ls failed\n", variable_name16); + ret =3D efi_set_variable_int(variable_name16, &efi_guid_capsule_report, + EFI_VARIABLE_NON_VOLATILE | + EFI_VARIABLE_BOOTSERVICE_ACCESS | + EFI_VARIABLE_RUNTIME_ACCESS, + sizeof(result), &result, false); + if (ret !=3D EFI_SUCCESS) { + log_err("Setting %ls failed\n", variable_name16); + return; + } + + /* Variable CapsuleLast must not include terminating 0x0000 */ + ret =3D efi_set_variable_int(L"CapsuleLast", &efi_guid_capsule_report, + EFI_VARIABLE_READ_ONLY | + EFI_VARIABLE_NON_VOLATILE | + EFI_VARIABLE_BOOTSERVICE_ACCESS | + EFI_VARIABLE_RUNTIME_ACCESS, + 22, variable_name16, false); + if (ret !=3D EFI_SUCCESS) + log_err("Setting %ls failed\n", L"CapsuleLast"); } #ifdef CONFIG_EFI_CAPSULE_FIRMWARE_MANAGEMENT @@ -988,7 +1002,6 @@ efi_status_t efi_launch_capsules(void) struct efi_capsule_header *capsule =3D NULL; u16 **files; unsigned int nfiles, index, i; - u16 variable_name16[12]; efi_status_t ret; if (!check_run_capsules()) @@ -1045,16 +1058,6 @@ efi_status_t efi_launch_capsules(void) free(files[i]); free(files); - /* CapsuleLast */ - efi_create_indexed_name(variable_name16, sizeof(variable_name16), - "Capsule", index - 1); - efi_set_variable_int(L"CapsuleLast", &efi_guid_capsule_report, - EFI_VARIABLE_READ_ONLY | - EFI_VARIABLE_NON_VOLATILE | - EFI_VARIABLE_BOOTSERVICE_ACCESS | - EFI_VARIABLE_RUNTIME_ACCESS, - 22, variable_name16, false); - return ret; } #endif /* CONFIG_EFI_CAPSULE_ON_DISK */ =2D- 2.30.2