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=-14.2 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,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 106D0C433EF for ; Thu, 9 Sep 2021 05:33:58 +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 0458B60C3E for ; Thu, 9 Sep 2021 05:33:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 0458B60C3E 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 B701182C0C; Thu, 9 Sep 2021 07:33:54 +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="XKUnbbiG"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 575DF82C45; Thu, 9 Sep 2021 07:33:53 +0200 (CEST) Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (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 2E75B80C94 for ; Thu, 9 Sep 2021 07:33:50 +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=1631165628; bh=Ijd403ezyXUyhtHkH4s8es99GmZ5X1LLReEW/uyi2Sc=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=XKUnbbiGshMAA2yaQuxKzmDOD9hSXNnDsu15lKSnA3P8uMJzA7BrjaO3R9yyIWBbg dUcz5zkeZeD7WYCrFOfBFUgW80xZJNnmriQy8nFKHod0IUyQl/67/bE6WKXKUUZBeA wqsRWHptIBoDy1U5oXFhMks5GQcWppmXnwGSz0k4= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.123.35] ([88.152.144.157]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MCKBc-1mFzTy27P8-009Oi5; Thu, 09 Sep 2021 07:33:48 +0200 Subject: Re: [PATCH] efi_loader: Remove incorrect calls of EFI_CALL in TCG2 To: Ilias Apalodimas Cc: masahisa.kojima@linaro.org, Alexander Graf , u-boot@lists.denx.de References: <20210908213049.89268-1-ilias.apalodimas@linaro.org> From: Heinrich Schuchardt Message-ID: Date: Thu, 9 Sep 2021 07:33:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20210908213049.89268-1-ilias.apalodimas@linaro.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:YSFWCo31sjurAy+qJ+m5/Fp/mt69AOlxv1PHVaQX6Ba/aNSLMNK k3b3a1/+jExSj5lU4jv92WviM81EAjb7rJfN1n9AUEeQiMUXfAYNe/eqKzdg5OZmqymGfNi DqKKCwP82cJEb/ya5IswoMiFKw3bOXIO4KVny2swNLyrgtahI9cYr6f6aPzPIMn3iD/8ITU p19Sz1ZEAtzgRfV5EB/4A== X-UI-Out-Filterresults: notjunk:1;V03:K0:OEQ94iyHElg=:6/MqEOFKhzsL1jc7YQSP6g PeZw9uOjjqVjHwne9T6vD/tjI7499G0I1wgSQdgG5V/fW5owVBI3irJyX+7MtsM1xPGLbKzrZ 4HqHrPJ+jBS4A8iOi509e6eJXCMR4FG0BXmR3RaDnHBGCCdU3qfgeBGsSp85JOpbfAaPowFEr ZJTPNq4td6zgvPdBWwrEoEy4SDLKh0fSKhaNZk2ccYX6yFRLXwIfseRul8U9nfaXRThMj8gYe w99oTe2ZPeY5oHI8CGgJ1BIi/wu9WNL2PjRo6wPozm9FvT+C977CJzszKZXnGrWClEPIJIA12 1nmJqMZKFCZx2yusrYGqRJX8oc6f3xWZbpwQLUeOTdaNh9Dt12xFGRYUVjW9vujMCRT6bI5Kr MKOR5xBk+N26pZ5/wnKDsJKKEpWj5Y0CAxtxg6TG2xXhTrf5lwtOh9w+iQqklZYw/31mCBbyb wSyQd/x+Wta3sfyPZzE9EnIyDbeFCbMQJ5KD476ippklO1bpli7q4Sfw7tiZCN6RcuKUHiZ30 rX0cofGGwNSCT/2+pAg8VOgEiCL1rNJzCFy0ULB0dGdlESRHQfx0BCrdDAyj0IX43EkLn4G3l gmXRuoX3J00wqTg3XYzduIrLuJ5W7XcRV1Zhu6IP+2BmjCRot4v4mNf13/Su+v/d3vuGRWwsh d/roIbuJm/o2ajmTqeGUiCoN/JuE0ZmFWDnGmoEBJrxeR3wDCSOI2gWIIrFqC4zNVIPsph72L OaPW5I83y4vtuOaNEKzRg+JH2VyEYU6TrrR1fcG4I31ee0gveOJ1Ub/ENwqhTgRt+axSgOLti aveNT8SeGYg4iA1UY3n5j8SwOVV/+XyOBFgC7YXx6SBhIEtYZACldlfol6ERqrkq/SUUEQkFc ob34iShNGIDgy3vNSrUmRlvhlSrlJU1erj723a+mLokcjUH7LWvjaxNpK7x+vMWSbZVI/ELXX bESRBeY13EIQ9fm61DFtUJT4vqrInSqI5Mesdh24D9imuEibk/gxkGM3LAJ27RourPPB3HTBH BN3fXw3EGKzFgfxF+VYB8sPfCyxTiPz64+ujdCSZ9ioIkrUC1pK5NMHiBXka0AO8fdBVcCFMx HvZyzKbXvdNRP4= 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 On 9/8/21 11:30 PM, Ilias Apalodimas wrote: > There is two unneeded EFI_CALL references in tcg2_measure_pe_image(). > The first one in efi_search_protocol() and the second on in the device p= ath > calculation. The second isn't even a function we should be calling, but= a > pointer assignment, which happens to work with the existing macro. > > While at it switch the malloc call to a calloc, remove the unnecessary c= ast > and get rid of an unneeded if statement before copying the device path > > Signed-off-by: Ilias Apalodimas Reviewed-by: Heinrich Schuchardt > --- > lib/efi_loader/efi_tcg2.c | 15 ++++++--------- > 1 file changed, 6 insertions(+), 9 deletions(-) > > diff --git a/lib/efi_loader/efi_tcg2.c b/lib/efi_loader/efi_tcg2.c > index 1319a8b37868..d026af2b2350 100644 > --- a/lib/efi_loader/efi_tcg2.c > +++ b/lib/efi_loader/efi_tcg2.c > @@ -839,20 +839,19 @@ efi_status_t tcg2_measure_pe_image(void *efi, u64 = efi_size, > if (ret !=3D EFI_SUCCESS) > return ret; > > - ret =3D EFI_CALL(efi_search_protocol(&handle->header, > - &efi_guid_loaded_image_device_path, > - &handler)); > + ret =3D efi_search_protocol(&handle->header, > + &efi_guid_loaded_image_device_path, &handler); > if (ret !=3D EFI_SUCCESS) > return ret; > > - device_path =3D EFI_CALL(handler->protocol_interface); > + device_path =3D handler->protocol_interface; > device_path_length =3D efi_dp_size(device_path); > if (device_path_length > 0) { > /* add end node size */ > device_path_length +=3D sizeof(struct efi_device_path); > } > event_size =3D sizeof(struct uefi_image_load_event) + device_path_len= gth; > - image_load_event =3D (struct uefi_image_load_event *)malloc(event_size= ); > + image_load_event =3D calloc(1, event_size); > if (!image_load_event) > return EFI_OUT_OF_RESOURCES; > > @@ -875,10 +874,8 @@ efi_status_t tcg2_measure_pe_image(void *efi, u64 e= fi_size, > goto out; > } > > - if (device_path_length > 0) { > - memcpy(image_load_event->device_path, device_path, > - device_path_length); > - } > + /* device_path_length might be zero */ > + memcpy(image_load_event->device_path, device_path, device_path_length)= ; > > ret =3D tcg2_agile_log_append(pcr_index, event_type, &digest_list, > event_size, (u8 *)image_load_event); >