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.0 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED 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 04323C433EF for ; Sat, 11 Sep 2021 14:11: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 0C64061100 for ; Sat, 11 Sep 2021 14:11:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 0C64061100 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org 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 A3311837A7; Sat, 11 Sep 2021 16:11:08 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="iDwVnROC"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 675EB837CA; Sat, 11 Sep 2021 16:11:07 +0200 (CEST) Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 39598837A0 for ; Sat, 11 Sep 2021 16:11:03 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=ilias.apalodimas@linaro.org Received: by mail-ej1-x62c.google.com with SMTP id qq21so4486750ejb.10 for ; Sat, 11 Sep 2021 07:11:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=bGOJGdBBRHuMuU3V0v40Kv0l5VuN02qA/S0WgXimTks=; b=iDwVnROC7hTW5pSZcJPmOvs4JhOfYXbIFjX6oRG8DWcZVDk0tkiGKdjgs1aua+3Y5E yNf9h+nrJR7FmbSrV7ztZrZyahtH98otYw+prBNYPX2ZXzIbfvbJSHWNpObn4ezqHTjW 9jDa0oT5h8jLPmuE/84Bs1tYPpJeFhg/iJltHePOl8EgSMaOpqauzDO9wP3X9eTut3iL Ks5dyXANYkkKudV+JA+AinRAFyet7SKQhmFXQbOkwRWQtLDU9+gQAcvNAUxh04QNWZCp MzJ6bz0WFttDzVmPnKCgA9TcF3r2eU2idkU8dFgpqhNAasphD9tv4YzNR+FQ4zlRKySv isVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=bGOJGdBBRHuMuU3V0v40Kv0l5VuN02qA/S0WgXimTks=; b=6pu3/Ar/h0JIpZZ+fV7/L7bcgKPfj7kTsWQ1Tbh8HvjJIQPjzJx36AWOskpJEQk6bN kKzIXC40ssFwTZ9yb+mxHD/263e2veB8yefjxe9z7JnfLfUz4IkXuuKJPng1OMh5jRWp p/+BJu8JBGuI34CcDbBl7ms/hytmXu7SGy5lLDBvaqKtKlNUK9AQ5VZhks2lPOhcMhX5 tai+1ilYqym55ISiQ5G6ms6Yln5Amt2cLyXSq7tVts/d22wffaU1lqjA+IXXGJzsLX1j wuaGv7VV3OYLOZOFg8YD4JEQ1chRsVLX1sh9nB0EqYIJFk5ZCUNoC8zH+sioDpSmb0Ey hu/Q== X-Gm-Message-State: AOAM53220kvz+FHHOeKhVXp6FJDrzeXdqL/rK4OzspF7LEnUqpWj0iC7 ZdEqIWvKc0uxa4a/RVIzUxW+jg== X-Google-Smtp-Source: ABdhPJz+MxDuTgNeSNb/fej/7yyNJtslbfx/gtsHTsYLxgKWmk8OLt7g+g0HXacrDzSGbtaowJprEA== X-Received: by 2002:a17:906:4dd5:: with SMTP id f21mr1197322ejw.106.1631369462721; Sat, 11 Sep 2021 07:11:02 -0700 (PDT) Received: from apalos.home (ppp-94-66-220-137.home.otenet.gr. [94.66.220.137]) by smtp.gmail.com with ESMTPSA id bq4sm827537ejb.43.2021.09.11.07.11.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Sep 2021 07:11:02 -0700 (PDT) Date: Sat, 11 Sep 2021 17:10:59 +0300 From: Ilias Apalodimas To: Heinrich Schuchardt Cc: u-boot@lists.denx.de, AKASHI Takahiro , Sughosh Ganu , Masahisa Kojima , Alexander Graf Subject: Re: [PATCH 1/4] efi_loader: treat UEFI variable name as const Message-ID: References: <20210911072832.16991-1-xypron.glpk@gmx.de> <20210911072832.16991-2-xypron.glpk@gmx.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210911072832.16991-2-xypron.glpk@gmx.de> 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 Hi Heinrich, On Sat, Sep 11, 2021 at 09:28:29AM +0200, Heinrich Schuchardt wrote: > Adjust several internal functions to treat UEFI variable names as const. It's obvious what the patch does, but is there a reason ? I think that's a better fit for the commit log. Cheers /Ilias > > Signed-off-by: Heinrich Schuchardt > --- > 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 > --- 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 > --- 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 *vendor, > +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, const 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 *vendor, > +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 variable > @@ -280,8 +283,9 @@ efi_get_next_variable_name_mem(efi_uintn_t *variable_name_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 *attributes, > - 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 > --- 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_index, > - 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_common.c > index a00bbf1620..e179932124 100644 > --- 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 = 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 = NULL; > diff --git a/lib/efi_loader/efi_var_mem.c b/lib/efi_loader/efi_var_mem.c > index 3d335a8274..13909b1d26 100644 > --- 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_entry *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 *attributes, > - 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 > --- 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 *variable, > #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_name_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 *vendor, > +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_variable_tee.c > index 51920bcb51..281f886124 100644 > --- 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 enabling > * 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 *vendor, > +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 *vendor, > - 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 = EFI_SUCCESS; > struct var_check_property var_property; > -- > 2.30.2 >