Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3233797pxb; Mon, 25 Jan 2021 10:15:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJx6u2CkdTH6/u3/QlOs2HHazHHe7cbU6yGQeK+rMDqUtIypU1l3C19tgZdi0MZofYiQMORF X-Received: by 2002:aa7:dd16:: with SMTP id i22mr1498343edv.215.1611598556912; Mon, 25 Jan 2021 10:15:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611598556; cv=none; d=google.com; s=arc-20160816; b=IOcrwQeRTjuxm1aajCwEMFrBN3TqGtomyjbcaMP43MKJyQV6fFjMCpG4QaHKio81d7 i3HT0kRJiCYFZR2npSMrLO3d9ZFBnF6mSiW3yW49vn6pGq+s/1POlS/bcXVPuPeYH4wf T96+AgV1jT3zQUvX4ySMFzEU5kZu3WRXIxEQombEsu9gQdByuiLrpj+FlZ5bie9eWTnT ROBhZycFgl8h7YR6D+aOjI8/Dsk0Na4nxFsZmQsCPrBfQ8Ht4IS786WweGmzMqSwm1AB u2pPTtQORK3rHounkgJtrmn1uwSpT25mfNNNUd+X7JEALYh2XPGkZ+ZpXWwYpc32/EpO N9zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-disposition:mime-version:message-id :subject:cc:to:from:date:dkim-signature; bh=fTM7OtX4BS6v8n7/E2JUvFbdt2Yu+fVZq2bc/xkTvtQ=; b=TFHmNP/vfltzjpgvgURLiftXKaQwUpNDlOxRkiJGD80avRr6UNxl03lF3x9E6/qa+v S224TkqzRKCvqT8qdvY/VDlQTqVxCAw0gfLgnSyo1guGaJtuU6GnnXxj1Wj7jC14H4/T nXcdGxSGrQQF8YNDdGxY3Xh4GQPdUNyp8v0MHddt/KKR00bIX0J24Xnjib18rV+KX5uF +nTliGtHOyadkepZVAXU/6BQvvOXs9yS2gzkEOVfzYKjCAuWNbdc/8YpQi4HZN81Yk0o 8p4L1JNMWpc5k/RQtknX+7YzUKpvHZmAJAGckrHwVv0T56/hlRBUiNNesxAOqm9hNpFg aIxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=NDXk+cUA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id hs42si6098285ejc.136.2021.01.25.10.15.30; Mon, 25 Jan 2021 10:15:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=NDXk+cUA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731059AbhAYSOC (ORCPT + 99 others); Mon, 25 Jan 2021 13:14:02 -0500 Received: from mail.kernel.org ([198.145.29.99]:48976 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731260AbhAYSNh (ORCPT ); Mon, 25 Jan 2021 13:13:37 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id B563D22583; Mon, 25 Jan 2021 18:12:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1611598376; bh=xUqyJZQ/DcDP2maOwJW2N/DX3loKg7J8/mDXbjv2zj8=; h=Date:From:To:Cc:Subject:From; b=NDXk+cUAn0q765alGCwBd0SAc3GwcVMGzSxZJDdM8qMAP0z+YDfKkdswqe3o5Alt7 qHPDP0Shs2MU7EAjlHzWPzN6jQzLMhGW5BddLvx1lcnw+Eu9szO+ADibHrXblEbAt9 loWTUJv+gF3/uA5N00r2KHxH766f6Q1fbPtBql4iPyhscIKmeFoM2jAGyxG/cqLmH6 c6b24kf0oL9w4uI1Q8iK/cINJzK0Jhd/65W5+CkF0knmVUTQEXCN/XEjnAuLmvtlUf vOmsD9fjl7PEW15le0Gai+tvDY/JiMYFdjy8S7bQwqjAZQxEMKcNBgF3fCRzh/ZP+M +99undM/pEn6w== Date: Mon, 25 Jan 2021 20:12:53 +0200 From: Jarkko Sakkinen To: Tianjia Zhang Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Sean Christopherson , Shuah Khan , x86@kernel.org, linux-sgx@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Jia Zhang Subject: Re: [PATCH v3 1/5] selftests/x86: Simplify the code to get vdso base address in sgx Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org What the short summary is saying now, is that this commit would make the existing code to use vDSO base address. It's already doing that. You could instead just "Use getauxval() to simplify the code". Also, I'd prefer to properly use upper and lower case letter, e.g. vDSO instead of vdso. Reply-To: In-Reply-To: <20210124062907.88229-2-tianjia.zhang@linux.alibaba.com> On Sun, Jan 24, 2021 at 02:29:03PM +0800, Tianjia Zhang wrote: > This patch uses the library function `getauxval(AT_SYSINFO_EHDR)` > instead of the custom function `vdso_get_base_addr` to obtain the Use either double or single quotation mark instead of hyphen. > base address of vDSO, which will simplify the code implementation. > > Signed-off-by: Tianjia Zhang This needs to be imperative form, e.g. "Simplify the code implemntation by using getauxval() instead of a custom function." > --- > tools/testing/selftests/sgx/main.c | 24 ++++-------------------- > 1 file changed, 4 insertions(+), 20 deletions(-) > > diff --git a/tools/testing/selftests/sgx/main.c b/tools/testing/selftests/sgx/main.c > index 724cec700926..365d01dea67b 100644 > --- a/tools/testing/selftests/sgx/main.c > +++ b/tools/testing/selftests/sgx/main.c > @@ -15,6 +15,7 @@ > #include > #include > #include > +#include > #include "defines.h" > #include "main.h" > #include "../kselftest.h" > @@ -28,24 +29,6 @@ struct vdso_symtab { > Elf64_Word *elf_hashtab; > }; > > -static void *vdso_get_base_addr(char *envp[]) > -{ > - Elf64_auxv_t *auxv; > - int i; > - > - for (i = 0; envp[i]; i++) > - ; > - > - auxv = (Elf64_auxv_t *)&envp[i + 1]; > - > - for (i = 0; auxv[i].a_type != AT_NULL; i++) { > - if (auxv[i].a_type == AT_SYSINFO_EHDR) > - return (void *)auxv[i].a_un.a_val; > - } > - > - return NULL; > -} > - > static Elf64_Dyn *vdso_get_dyntab(void *addr) > { > Elf64_Ehdr *ehdr = addr; > @@ -162,7 +145,7 @@ static int user_handler(long rdi, long rsi, long rdx, long ursp, long r8, long r > return 0; > } > > -int main(int argc, char *argv[], char *envp[]) > +int main(int argc, char *argv[]) > { > struct sgx_enclave_run run; > struct vdso_symtab symtab; > @@ -203,7 +186,8 @@ int main(int argc, char *argv[], char *envp[]) > memset(&run, 0, sizeof(run)); > run.tcs = encl.encl_base; > > - addr = vdso_get_base_addr(envp); > + /* Get vDSO base address */ > + addr = (void *)(uintptr_t)getauxval(AT_SYSINFO_EHDR); You could just case the result the result directly to void *. > if (!addr) > goto err; > > -- > 2.19.1.3.ge56e4f7 > > /Jarkko