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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id D5A2AC001DC for ; Thu, 27 Jul 2023 08:54:05 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B910F86795; Thu, 27 Jul 2023 10:54:01 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=amd.com 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; unprotected) header.d=amd.com header.i=@amd.com header.b="zhCNxhYz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6EB89867D9; Thu, 27 Jul 2023 10:53:58 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20601.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::601]) (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 C99448677D for ; Thu, 27 Jul 2023 10:53:54 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: phobos.denx.de; spf=fail smtp.mailfrom=michal.simek@amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JZR7WjxcV7UCgjLWLo1hSY7a4BM9Q0t6MXMXiQPakKA+dT0cohwYoUiXUeS3JrAk0hvN5Bzz9wU0r9AQYff/aCxqYMCE8hwQFH1mR81hvA0Thch/onHzs8BLxKzFnaaSzg0FM34Sw8HT/YrP5+sYXTVcQu0WtDhMSt+7q/aMrzEwPJxVgiYDv6LEdnPfDb8TN502HkJBbXR/ICUXLwFuDw/NG+U4ByeC9xNZ0cgHwMp66mOtc8iM4Ms2q0VCJMdbZiPt3ujm7zKwj8t7irSUUYNGL4/xBH0VX84zujiHOesVTEgrQRocgHG2wr/oK14GLkqXsLK5Utq9XPf/4ATowg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ywDaODrtVOPQWFvqdRtVbOHk7lUzWh689gSGWQAXGtw=; b=kiJ+gHO9n8w/nOxLGueLaq0Y38Jl1ARPSXZToXwFzAOF3zg6h7pyqrGy35X0VcW62r+QjSCtwpYiAYzg0Im5nkzs5rms7QSpFvHVO/u5bAOUlzhQ/NBJtem4zvruQwrFzsJUrIVEnR/fdmqH9+ErgJyrIoofleQc4BFTwWb3DntzhQ8z1C4sMg2kK2gq2HV4HXyzBfTjgFkPCXRhubWlbajWSAfB7EXLZB5uDbQC8I5htuip8+BWRCQhEp+vP8YAHptK16IoYQzxuzsQOEhVh5jW0rvnFEOzDCktWxLXEtplzxRW7UCd5Ac9nKY82D7Q7/Vde9dkAm89qLa15bwfUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ywDaODrtVOPQWFvqdRtVbOHk7lUzWh689gSGWQAXGtw=; b=zhCNxhYzMl9AcNCHdKeGGLySdLjj20GEaoNjvvu4gzH44/djRXKomK93m0Km5o9Q2qhj7o/TGthjKOcTxg73lGWGeOy626q+9JZIRymuwHNXFEkeUEh34z9b+cWbGaBTtGiTfnscZPS0ClXZYClMGX5jTJBujsaH4KJOwW7GnPU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from BYAPR12MB4758.namprd12.prod.outlook.com (2603:10b6:a03:a5::28) by DM6PR12MB4284.namprd12.prod.outlook.com (2603:10b6:5:21a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.29; Thu, 27 Jul 2023 08:53:50 +0000 Received: from BYAPR12MB4758.namprd12.prod.outlook.com ([fe80::7790:1431:1e52:44db]) by BYAPR12MB4758.namprd12.prod.outlook.com ([fe80::7790:1431:1e52:44db%5]) with mapi id 15.20.6609.032; Thu, 27 Jul 2023 08:53:50 +0000 Message-ID: Date: Thu, 27 Jul 2023 10:53:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US To: AKASHI Takahiro , xypron.glpk@gmx.de, ilias.apalodimas@linaro.org, sughosh.ganu@linaro.org Cc: u-boot@lists.denx.de References: <20230727003800.25105-1-takahiro.akashi@linaro.org> From: Michal Simek Subject: Re: [PATCH] efi_loader: capsule: enforce guid check in api and capsule_on_disk In-Reply-To: <20230727003800.25105-1-takahiro.akashi@linaro.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0084.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9b::11) To BYAPR12MB4758.namprd12.prod.outlook.com (2603:10b6:a03:a5::28) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR12MB4758:EE_|DM6PR12MB4284:EE_ X-MS-Office365-Filtering-Correlation-Id: f493399b-cd22-43b9-ab2d-08db8e7efee8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8aO3uvP+oMv6KHCuXrFmEOoEQO+9I9zZlSdJUictWVX2draD0USSt4d7HgBoFzMDTlq7xVbk3E1fO5JicZyYW+x/RgIhnmL/Ez3Mun8s3ZF1JReHvz0yFnHPSehZmZvYVq8Y6hD+LpiQDLpZHmF79e3vZgrEKfIAHapjgX2TjyqvoG2wr3RbB6cu6FDPwuiHRQz8KCwk1JPnAwDhTjhYr6XejG7ldegxV8prUL8+aFvxYm39YzNHM6mMOpYAjtlE5xDPtV0H9XMhfEPtwTqpnMPBvf/R6d+ssaAP704ZGe+3WsT1jxCiu13JuCFCxN2k94p2lf8w+qf/jgV6XF4KWXRKJC8gYRSsxCAiroawT60NQEl3Q/Qe3mwh+xAi5SBbuzV7YzgDZQTwDoRkuMYP/v4S6ZCOHscojCr2me72n2zyu4vzza4lDDUiiHKPxZU9i8YTum6YUlsS5AGYYpmr8reFI4Ju0K+Ry4ALpAm5Yc+1hOM9hjS9aiSWRxgE8hyGrSxRNR0kgWZRSGWfdG3D/KxkJL+3WdCntrALDsMLCu+0jTm9fQJX8VwR3e4eZNO1ykWJuS+4XKUYDCzSC6ia3cXJRbhHhEjGugDIB8Lqv0PsBrfZuVKtWzPK4AqUQg98LD8FsUNbMOExPTK3/O366Q== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR12MB4758.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(396003)(346002)(366004)(376002)(39860400002)(136003)(451199021)(41300700001)(2906002)(316002)(44832011)(5660300002)(8676002)(8936002)(36756003)(86362001)(31696002)(6512007)(966005)(6506007)(53546011)(26005)(478600001)(6666004)(6486002)(83380400001)(38100700002)(186003)(31686004)(2616005)(4326008)(66476007)(66946007)(66556008)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NUk1RjB6Ui9WVXRPRUN4MTdPMlBwbzRBdmdaU2VLWU9WSUc0Nnkvamx0emtV?= =?utf-8?B?eWovMjg2ak5EZWlRdWtqNEtDSlVMRVJpTzRqVkU3Vks3RGFYL0RZc25URGQ5?= =?utf-8?B?NWVxeXpBT1RFRE9JK3laYktJZnk4dnBLWlM0UHEzbXBhSS82K09zZnh5VEdV?= =?utf-8?B?eENvdE5ZaUl6akhObllkZGg0WWR6OWJKZzk4RDg2N3NhZGZOWTVkUUZIRGcr?= =?utf-8?B?QXJZbDdJd2tmRElLcnpuTFl4REJrM0JlOHJ0OHphcCtHclpvWi90ZVRlWmhh?= =?utf-8?B?dXA4MjluV3Z5TmwrUWM5QWhsNFM0Tm5VektWUFB4aWJKdXpvUTIvYlhvU0Js?= =?utf-8?B?MmgxdklLQVV2TllhRko2UEc2c1lVRkNuTWdlemRXWEFtd3lxRDQyRkM2U1B2?= =?utf-8?B?VVhwL1dOVlMzaURPWUFqeEVHS3pST1VmOC9sMXE0TGJwcFVPbk1VUDJDdGVQ?= =?utf-8?B?YnZBam5HY1VhMXpUNTlWcnEvMHF4WTZteXlPZTZBKzVuUzE5TlpONHZ3SWZO?= =?utf-8?B?VXpXWmFENVI2M2I4RmNWMXdEOFFPOVhWMjYwV0R4Zm5BSE5nWTN6WWltWms1?= =?utf-8?B?SzVvdklmM0R0SkljU2dHcXNWZFg3Y09FeElGby9WeWl1UVExSGJhbGdsYW14?= =?utf-8?B?aThpcDMyY0xKTTZFUXkzbjBEd2NJR05GR2tJbEtPanpIYUdydUx5Z3BtQmt3?= =?utf-8?B?L0wxSWF6L0ZjYjVnTVduaTNORVdPb09vUTI3Q1BydjBrbFdkVG5xRktBb0xE?= =?utf-8?B?dGRxTGFkcmNhMFFZL2IrV0l3bUhoM0ZrM0lzYStQVnlNUENINDhxNDQ1azEz?= =?utf-8?B?R3hNRmowSWdWQ0dFeHd4b2xJWUdoa2xZZHFQN25aa1BlRG5YeDV5VVJrL3Bx?= =?utf-8?B?RHVQY2QrYWhTR3ZiTStDa2FXQ3FteThVSWRBdkVNN2dpVlJTdGZ3UE9HeEIv?= =?utf-8?B?M1FtSWVBNm41ZnZyRHlFc1g4dG1lRGgvemhvbkxDSU1NVzM4Sm4zZytzazBa?= =?utf-8?B?N1hMRUUzOVZhbjNXOGpjZVZYUFZhMGtmT0VSNGZlbnlHbHZNOG8raEFYZGdM?= =?utf-8?B?b3N2NWhRUS9BRHV4Z3o1TitPcnVvbDBHTm9OMkNQenhncGdmSjZFUGlxbWxR?= =?utf-8?B?Mlk5QXN2cEN2ZGtzQ0xneDA3OEdwcDBYTDhwYnZqNGxmM1NXMENTZW1DZkcr?= =?utf-8?B?d08xYlVrbDBDRDM0R3BuVG9mL3d0VVpRb242dk1LenNhb2dXUnpVOEJITE9m?= =?utf-8?B?SGNrY1BJMVhHM1g4NGZHSXFUNWhWekRwU1QrRDhjb3ZiTnFvOXVvbjZxZ0hO?= =?utf-8?B?bVJvVGVXckp5MGFpQzNISktURUlYVS9TcVpOSm56NkRadGJ5QWlkN2h2YS96?= =?utf-8?B?OHk0TjRtK0JDRmt6VkR1L3Jpdmx5My9yaDNIVU8yMUwzUTMzYjJRTXZPYU1G?= =?utf-8?B?ZDFKR09IRVg5a2l0WGE0L05tckt1N0ZTS1hIRmdTSS8xR1NBSCtBdTdaNlB1?= =?utf-8?B?VUJzaFZEZElXRWtrcmFRd0Q1TTVSMDArZE91MUNGTnVFbng3T3RSbmN2eFlT?= =?utf-8?B?NzBkKzVkL3dCQ2hiV0FtQlc2c0Nma2c2UW5MMFBNZERwZEtnK1pzTXY5Y1RR?= =?utf-8?B?aVROWHA1dlJ6WFpJN0pXMnJvNDhYY3ZkVlAwMitKY0VvT3JLNXRqNUtKRGxJ?= =?utf-8?B?Y3QwWUMvODdxVktXNjlKcGFtTEV3WithRHk4ck0wcUJUMjRJZXhmcERSWWFS?= =?utf-8?B?SUtjN3FOV0VHaGNFdU1xUXRQSmN5cHd6Nk1FSENHWUM4a3JjakRVWTZTVGRY?= =?utf-8?B?NHBmdlhsRW9tT3RSWS8yZFI4Q3JtOUZHcXI4TlljRVhWbENyS2xmMmcrb2N1?= =?utf-8?B?YTFaUE15bTByclgyYktFYU9pTEFqY2hlL2JLZnA4bTBjcS9aN2djRHMvOGU3?= =?utf-8?B?NlA0Qkw4dnB6dUZveGtrejRRd2RWSnJVNUlmeEM2U1lqY3JZckpLTXl3UnUr?= =?utf-8?B?SlF3Z3ZEVDBUZEtpT3JkelZGYWRHeFVhLzRCbmtTWXlqalZ6bEJJS255UWVu?= =?utf-8?B?Tm5jRmhGSE9BZ2JrTFpWZ2owcVBpWWhCclNKUnpzSEc0WVlHcU9aUTdGSjFw?= =?utf-8?Q?PUDGb607e1kxfQKwuyYYqbdpy?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: f493399b-cd22-43b9-ab2d-08db8e7efee8 X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB4758.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2023 08:53:49.9059 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Hv/wcNMxaPFxVY2Pwx/0bdf7HkEhFH8bNj0291PdWl74Wvv9sphCijXnuPR3efJu X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4284 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean On 7/27/23 02:38, AKASHI Takahiro wrote: > While UPDATE_CAPSULE api is not fully implemented, this interface and > capsule-on-disk feature should behave in the same way, especially in > handling an empty capsule for fwu multibank, for future enhancement. > > So move the guid check into efi_capsule_update_firmware(). > > Fixed: commit a6aafce494ab ("efi_loader: use efi_update_capsule_firmware() > for capsule on disk") just fyi: b4 mess this. You should likely put it on the same line and ignore line limit. This is how this ends up. handling an empty capsule for fwu multibank, for future enhancement. So move the guid check into efi_capsule_update_firmware(). for capsule on disk") Fixed: commit a6aafce494ab ("efi_loader: use efi_update_capsule_firmware() Reported-by: Michal Simek Signed-off-by: AKASHI Takahiro Link: https://lore.kernel.org/r/20230727003800.25105-1-takahiro.akashi@linaro.org > Reported-by: Michal Simek > Signed-off-by: AKASHI Takahiro > --- > lib/efi_loader/efi_capsule.c | 17 ++++++++--------- > 1 file changed, 8 insertions(+), 9 deletions(-) > > diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c > index 7a6f195cbc02..ddf8153e0982 100644 > --- a/lib/efi_loader/efi_capsule.c > +++ b/lib/efi_loader/efi_capsule.c > @@ -581,6 +581,13 @@ static efi_status_t efi_capsule_update_firmware( > fw_accept_os = capsule_data->flags & FW_ACCEPT_OS ? 0x1 : 0x0; > } > > + if (guidcmp(&capsule_data->capsule_guid, > + &efi_guid_firmware_management_capsule_id)) { > + log_err("Unsupported capsule type: %pUs\n", > + &capsule_data->capsule_guid); > + return EFI_UNSUPPORTED; > + } > + > /* sanity check */ > if (capsule_data->header_size < sizeof(*capsule) || > capsule_data->header_size >= capsule_data->capsule_image_size) > @@ -751,15 +758,7 @@ efi_status_t EFIAPI efi_update_capsule( > > log_debug("Capsule[%d] (guid:%pUs)\n", > i, &capsule->capsule_guid); > - if (!guidcmp(&capsule->capsule_guid, > - &efi_guid_firmware_management_capsule_id)) { > - ret = efi_capsule_update_firmware(capsule); > - } else { > - log_err("Unsupported capsule type: %pUs\n", > - &capsule->capsule_guid); > - ret = EFI_UNSUPPORTED; > - } > - > + ret = efi_capsule_update_firmware(capsule); > if (ret != EFI_SUCCESS) > goto out; > } I have no problem with this patch because it works as the previous one. When commit message is fixed feel free to add Tested-by: Michal Simek And regarding empty capsule functionality with A/B. I boot from A. Download capsules and run disk-update to get to Image B and trial state and I can download and apply acceptance capsule by hand via efidebug capsule update . That works fine for acceptance capsule is reflected via fwu in mdata. When I apply revert capsule there is nothing visible in mdata and I think it should. The only visibility is that it resets to A system. Is this the only intention of revert capsules? (keep in mind that I use two images per bank). Empty capsules are just accepted only in trial state which is understandable. And I also see that with latest master branch capsule on disk feature is not working properly. Capsule are not processed at all. Can you please double check it? Thanks, Michal