[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YauzxOEmmpeGF/K3@iki.fi>
Date: Sat, 4 Dec 2021 20:30:28 +0200
From: Jarkko Sakkinen <jarkko@...nel.org>
To: Reinette Chatre <reinette.chatre@...el.com>
Cc: dave.hansen@...ux.intel.com, tglx@...utronix.de, bp@...en8.de,
luto@...nel.org, mingo@...hat.com, linux-sgx@...r.kernel.org,
x86@...nel.org, seanjc@...gle.com, kai.huang@...el.com,
cathy.zhang@...el.com, cedric.xing@...el.com,
haitao.huang@...el.com, mark.shanahan@...el.com, hpa@...or.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 01/25] x86/sgx: Add shortlog descriptions to ENCLS
wrappers
On Wed, Dec 01, 2021 at 11:22:59AM -0800, Reinette Chatre wrote:
> The SGX ENCLS instruction uses EAX to specify an SGX function and
> may require additional registers, depending on the SGX function.
> ENCLS invokes the specified privileged SGX function for managing
> and debugging enclaves. Macros are used to wrap the ENCLS
> functionality and several wrappers are used to wrap the macros to
> make the different SGX functions accessible in the code.
>
> The wrappers of the supported SGX functions are cryptic. Add short
> changelog descriptions of each to a comment.
I think you are adding function descriptions.
> Suggested-by: Dave Hansen <dave.hansen@...ux.intel.com>
> Signed-off-by: Reinette Chatre <reinette.chatre@...el.com>
> ---
> arch/x86/kernel/cpu/sgx/encls.h | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/arch/x86/kernel/cpu/sgx/encls.h b/arch/x86/kernel/cpu/sgx/encls.h
> index 9b204843b78d..241b766265d3 100644
> --- a/arch/x86/kernel/cpu/sgx/encls.h
> +++ b/arch/x86/kernel/cpu/sgx/encls.h
> @@ -162,57 +162,68 @@ static inline bool encls_failed(int ret)
> ret; \
> })
>
> +/* Create an SECS page in the Enclave Page Cache (EPC) */
> static inline int __ecreate(struct sgx_pageinfo *pginfo, void *secs)
> {
> return __encls_2(ECREATE, pginfo, secs);
> }
You have:
* "Create an SECS page in the Enclave Page Cache (EPC)"
* "Add a Version Array (VA) page to the Enclave Page Cache (EPC)"
They should have similar descriptions, e.g.
* "Initialize an EPC page into SGX Enclave Control Structure (SECS) page."
* "Initialize an EPC page into Version Array (VA) page."
> +/* Extend uninitialized enclave measurement */
> static inline int __eextend(void *secs, void *addr)
> {
> return __encls_2(EEXTEND, secs, addr);
> }
That description does not make __eextend any less cryptic.
Something like this would be already more informative:
/* Hash a 256 byte region of an enclave page to SECS:MRENCLAVE. */
This same remark applies to the rest of these comments. They should
provide a clue what the wrapper does rather than an English open coded
function name.
/Jarkko
Powered by blists - more mailing lists