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 C94A6C433EF for ; Sat, 11 Sep 2021 07:29:17 +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 BF53C606A5 for ; Sat, 11 Sep 2021 07:29:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org BF53C606A5 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 4C75783768; Sat, 11 Sep 2021 09:28:59 +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="fwddDUX3"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 57B938371F; Sat, 11 Sep 2021 09:28:53 +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 F087B8372B for ; Sat, 11 Sep 2021 09:28:47 +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=mhhoiB0uj61geB3r2Ge13UwrLjYgRF1hk0l8S/oqYOg=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=fwddDUX3Ztf3fR/QsczAGxqK9VeWEAfGiEl64sk/30w0XcuJyVWmsbtIXp7JcNADp roDV5z0Kn3QNN53dh9VuvZiQ6RCRimpd/qD7yquU3MsTHGUSjBB31WCNPSk9uiwMui CN3n1RwDchOzt3rGcG+xMUR2R6MxC7sAmw9LLAmk= 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 1MGyxX-1mCbEb0TBL-00E7rD; 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 1/4] efi_loader: treat UEFI variable name as const Date: Sat, 11 Sep 2021 09:28:29 +0200 Message-Id: <20210911072832.16991-2-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:zkIwG1EmOC2YvDZqZNBDH2RwLG4zzb3x34Gfls07tkbw34a3IlK 1D/VxEGD5XQQGziLBXQth2yAhUsJfriEdqVwhCEIhd9Z/sS2ffO7Qr4oHbV4hoVPgj9VdGe LpAD3DDNtq7pZVxLRyoaf8+ncBiYNBwQjXYap5igEAoM6XTArLcs1JOSrpKvODh3MWgt80a gLqnYZsN30OnNTh7Oc7Kg== X-UI-Out-Filterresults: notjunk:1;V03:K0:XvZ0Z8NLAM0=:cUSYDZ0R1jDqc2897JLG1S hfsFsDgP8vZXtXxqriDpjbJPK8lcUoPFqyxwBoAZjSOmz5nSHZ6J46Q96+lS6IaSOEtXJQ3Hj ym51XUjB+kUr5ymKxQfqH6ASkBUWKXHJY9cbdNUECKj1PKMhgquT6bgkNWgvqdBGIfpWSpJlK nQ13oy2CHsqlAQMbHczc4AuDAvt199CgL3DKSZvWroLGwuWIBoTGl1+g1Qikkw/WOSrXjD3JQ 2Y/GN2QRQaTu7U+jbK0T7pr/pObj8uRXS0BXJkZXLHycxuCuI7GJidYhETJoAU9tqDEA3cZPq KLndpBqw+zaWuRQdawfk0N4ZcvC4IYQNA9YnxsiD/jr4LLqSTeqmmfnorHs+Vu7JJyHJg+1jN x4Y7KoQPekQEGn7RsW+G0K1vhnN5QIFRHxzjSyuGniwIqqd88FIalh6LiicE8qNs7JIcCS1Dj SCqKATccvuUKWC6+5tzpQhrI3sPe7Bni/gcHNMycl4laR+X3FF0wYgLS8npDy5v1zaoRSCopI kURpPAS4ULfrwgV7B4kbsCWrWge2JMsPbZ0dFmQ82czWu5yf2BK2JzJnCE9GdcueaNdnugLPg MJ/uguQjEK+PjnWv3pyY7E+vccy6fes32b9hd1Q7ArfYhCxYsTJ/X18dtzAlvlhZ1CisuAq8I dvlNLEFTRALehiUtd1MHUFcmMbZGjh3KnMtuTNb7hgRvDEdClC3b4w85vdWLr1z9DH1KLSucv rRt0IIwicKqZJq9q2GFfbVrTW+5dURXhOV6e9KEklr//2ZgondNF9vcOKcBdFLIE75Nk3LR7L EchtvOAWjTN9gyUnKKuP0KtyxmFwMYmPbZeCfowDz2fXPXSTWqzz3tovH83Ecz2QIKD9h4WFX YeoQOTWv8LYiZZ9AsXUWJ0HZyYvOsGwFJ7I0WlGDBj7WqL/vDKhf2VjlgHQfXoDglbnmOudeD u8iGyv8M7c20Wn5dFP28uEli5FsquG+8/7Isejpq9epWtdrOHeDiJ0BfvVqOupM5qLu2fR2MY pq4igIKFbcCl2gAY3FrT9+crkN4xGDJX3L3YZg3Vc0DDE2ASxgctZE0+OuOmVc+KOOtK+S8sG ly+qlwMxrnGXvk= 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 Adjust several internal functions to treat UEFI variable names as const. Signed-off-by: Heinrich Schuchardt =2D-- include/efi_loader.h | 2 +- include/efi_variable.h | 16 ++++++++++------ lib/efi_loader/efi_tcg2.c | 2 +- lib/efi_loader/efi_var_common.c | 5 +++-- lib/efi_loader/efi_var_mem.c | 7 ++++--- lib/efi_loader/efi_variable.c | 9 +++++---- lib/efi_loader/efi_variable_tee.c | 16 ++++++++++------ 7 files changed, 34 insertions(+), 23 deletions(-) diff --git a/include/efi_loader.h b/include/efi_loader.h index c440962fe5..125052d002 100644 =2D-- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -816,7 +816,7 @@ efi_status_t EFIAPI efi_query_variable_info( u64 *remaining_variable_storage_size, u64 *maximum_variable_size); -void *efi_get_var(u16 *name, const efi_guid_t *vendor, efi_uintn_t *size)= ; +void *efi_get_var(const u16 *name, const efi_guid_t *vendor, efi_uintn_t = *size); /* * See section 3.1.3 in the v2.7 UEFI spec for more details on diff --git a/include/efi_variable.h b/include/efi_variable.h index 0440d356bc..8f666b2309 100644 =2D-- a/include/efi_variable.h +++ b/include/efi_variable.h @@ -32,7 +32,8 @@ enum efi_auth_var_type { * @timep: authentication time (seconds since start of epoch) * Return: status code */ -efi_status_t efi_get_variable_int(u16 *variable_name, const efi_guid_t *v= endor, +efi_status_t efi_get_variable_int(const u16 *variable_name, + const efi_guid_t *vendor, u32 *attributes, efi_uintn_t *data_size, void *data, u64 *timep); @@ -47,7 +48,8 @@ efi_status_t efi_get_variable_int(u16 *variable_name, co= nst efi_guid_t *vendor, * @ro_check: check the read only read only bit in attributes * Return: status code */ -efi_status_t efi_set_variable_int(u16 *variable_name, const efi_guid_t *v= endor, +efi_status_t efi_set_variable_int(const u16 *variable_name, + const efi_guid_t *vendor, u32 attributes, efi_uintn_t data_size, const void *data, bool ro_check); @@ -224,7 +226,7 @@ void efi_var_mem_del(struct efi_var_entry *var); * @time: time of authentication (as seconds since start of epoch) * Result: status code */ -efi_status_t efi_var_mem_ins(u16 *variable_name, +efi_status_t efi_var_mem_ins(const u16 *variable_name, const efi_guid_t *vendor, u32 attributes, const efi_uintn_t size1, const void *data1, const efi_uintn_t size2, const void *data2, @@ -251,7 +253,8 @@ efi_status_t efi_init_secure_state(void); * @guid: guid of UEFI variable * Return: identifier for authentication related variables */ -enum efi_auth_var_type efi_auth_var_get_type(u16 *name, const efi_guid_t = *guid); +enum efi_auth_var_type efi_auth_var_get_type(const u16 *name, + const efi_guid_t *guid); /** * efi_get_next_variable_name_mem() - Runtime common code across efi vari= able @@ -280,8 +283,9 @@ efi_get_next_variable_name_mem(efi_uintn_t *variable_n= ame_size, u16 *variable_na * Return: status code */ efi_status_t __efi_runtime -efi_get_variable_mem(u16 *variable_name, const efi_guid_t *vendor, u32 *a= ttributes, - efi_uintn_t *data_size, void *data, u64 *timep); +efi_get_variable_mem(const u16 *variable_name, const efi_guid_t *vendor, + u32 *attributes, efi_uintn_t *data_size, void *data, + u64 *timep); /** * efi_get_variable_runtime() - runtime implementation of GetVariable() diff --git a/lib/efi_loader/efi_tcg2.c b/lib/efi_loader/efi_tcg2.c index 401acf3d4f..beb224f66a 100644 =2D-- a/lib/efi_loader/efi_tcg2.c +++ b/lib/efi_loader/efi_tcg2.c @@ -1359,7 +1359,7 @@ static efi_status_t efi_append_scrtm_version(struct = udevice *dev) * Return: status code */ static efi_status_t tcg2_measure_variable(struct udevice *dev, u32 pcr_in= dex, - u32 event_type, u16 *var_name, + u32 event_type, const u16 *var_name, const efi_guid_t *guid, efi_uintn_t data_size, u8 *data) { diff --git a/lib/efi_loader/efi_var_common.c b/lib/efi_loader/efi_var_comm= on.c index a00bbf1620..e179932124 100644 =2D-- a/lib/efi_loader/efi_var_common.c +++ b/lib/efi_loader/efi_var_common.c @@ -374,7 +374,8 @@ bool efi_secure_boot_enabled(void) return efi_secure_boot; } -enum efi_auth_var_type efi_auth_var_get_type(u16 *name, const efi_guid_t = *guid) +enum efi_auth_var_type efi_auth_var_get_type(const u16 *name, + const efi_guid_t *guid) { for (size_t i =3D 0; i < ARRAY_SIZE(name_type); ++i) { if (!u16_strcmp(name, name_type[i].name) && @@ -393,7 +394,7 @@ enum efi_auth_var_type efi_auth_var_get_type(u16 *name= , const efi_guid_t *guid) * * Return: buffer with variable data or NULL */ -void *efi_get_var(u16 *name, const efi_guid_t *vendor, efi_uintn_t *size) +void *efi_get_var(const u16 *name, const efi_guid_t *vendor, efi_uintn_t = *size) { efi_status_t ret; void *buf =3D NULL; diff --git a/lib/efi_loader/efi_var_mem.c b/lib/efi_loader/efi_var_mem.c index 3d335a8274..13909b1d26 100644 =2D-- a/lib/efi_loader/efi_var_mem.c +++ b/lib/efi_loader/efi_var_mem.c @@ -134,7 +134,7 @@ void __efi_runtime efi_var_mem_del(struct efi_var_entr= y *var) } efi_status_t __efi_runtime efi_var_mem_ins( - u16 *variable_name, + const u16 *variable_name, const efi_guid_t *vendor, u32 attributes, const efi_uintn_t size1, const void *data1, const efi_uintn_t size2, const void *data2, @@ -274,8 +274,9 @@ efi_status_t efi_var_mem_init(void) } efi_status_t __efi_runtime -efi_get_variable_mem(u16 *variable_name, const efi_guid_t *vendor, u32 *a= ttributes, - efi_uintn_t *data_size, void *data, u64 *timep) +efi_get_variable_mem(const u16 *variable_name, const efi_guid_t *vendor, + u32 *attributes, efi_uintn_t *data_size, void *data, + u64 *timep) { efi_uintn_t old_size; struct efi_var_entry *var; diff --git a/lib/efi_loader/efi_variable.c b/lib/efi_loader/efi_variable.c index fa2b6bc7a8..5adc7f821a 100644 =2D-- a/lib/efi_loader/efi_variable.c +++ b/lib/efi_loader/efi_variable.c @@ -45,7 +45,7 @@ * * Return: status code */ -static efi_status_t efi_variable_authenticate(u16 *variable, +static efi_status_t efi_variable_authenticate(const u16 *variable, const efi_guid_t *vendor, efi_uintn_t *data_size, const void **data, u32 given_attr, @@ -194,7 +194,7 @@ err: return ret; } #else -static efi_status_t efi_variable_authenticate(u16 *variable, +static efi_status_t efi_variable_authenticate(const u16 *variable, const efi_guid_t *vendor, efi_uintn_t *data_size, const void **data, u32 given_attr, @@ -205,7 +205,7 @@ static efi_status_t efi_variable_authenticate(u16 *var= iable, #endif /* CONFIG_EFI_SECURE_BOOT */ efi_status_t __efi_runtime -efi_get_variable_int(u16 *variable_name, const efi_guid_t *vendor, +efi_get_variable_int(const u16 *variable_name, const efi_guid_t *vendor, u32 *attributes, efi_uintn_t *data_size, void *data, u64 *timep) { @@ -219,7 +219,8 @@ efi_get_next_variable_name_int(efi_uintn_t *variable_n= ame_size, return efi_get_next_variable_name_mem(variable_name_size, variable_name,= vendor); } -efi_status_t efi_set_variable_int(u16 *variable_name, const efi_guid_t *v= endor, +efi_status_t efi_set_variable_int(const u16 *variable_name, + const efi_guid_t *vendor, u32 attributes, efi_uintn_t data_size, const void *data, bool ro_check) { diff --git a/lib/efi_loader/efi_variable_tee.c b/lib/efi_loader/efi_variab= le_tee.c index 51920bcb51..281f886124 100644 =2D-- a/lib/efi_loader/efi_variable_tee.c +++ b/lib/efi_loader/efi_variable_tee.c @@ -284,7 +284,8 @@ out: * StMM can store internal attributes and properties for variables, i.e e= nabling * R/O variables */ -static efi_status_t set_property_int(u16 *variable_name, efi_uintn_t name= _size, +static efi_status_t set_property_int(const u16 *variable_name, + efi_uintn_t name_size, const efi_guid_t *vendor, struct var_check_property *var_property) { @@ -317,7 +318,8 @@ out: return ret; } -static efi_status_t get_property_int(u16 *variable_name, efi_uintn_t name= _size, +static efi_status_t get_property_int(const u16 *variable_name, + efi_uintn_t name_size, const efi_guid_t *vendor, struct var_check_property *var_property) { @@ -361,7 +363,8 @@ out: return ret; } -efi_status_t efi_get_variable_int(u16 *variable_name, const efi_guid_t *v= endor, +efi_status_t efi_get_variable_int(const u16 *variable_name, + const efi_guid_t *vendor, u32 *attributes, efi_uintn_t *data_size, void *data, u64 *timep) { @@ -502,9 +505,10 @@ out: return ret; } -efi_status_t efi_set_variable_int(u16 *variable_name, const efi_guid_t *v= endor, - u32 attributes, efi_uintn_t data_size, - const void *data, bool ro_check) +efi_status_t efi_set_variable_int(const u16 *variable_name, + const efi_guid_t *vendor, u32 attributes, + efi_uintn_t data_size, const void *data, + bool ro_check) { efi_status_t ret, alt_ret =3D EFI_SUCCESS; struct var_check_property var_property; =2D- 2.30.2