All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6] selftests/x86: Use getauxval() to simplify the code in sgx
@ 2021-03-14 11:16 Tianjia Zhang
  2021-03-15 13:02 ` Jarkko Sakkinen
  2021-03-24 10:08 ` [tip: x86/sgx] selftests/sgx: Use getauxval() to simplify test code tip-bot2 for Tianjia Zhang
  0 siblings, 2 replies; 7+ messages in thread
From: Tianjia Zhang @ 2021-03-14 11:16 UTC (permalink / raw)
  To: Jarkko Sakkinen, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	H. Peter Anvin, Sean Christopherson, Shuah Khan, x86, linux-sgx,
	linux-kselftest, linux-kernel, Jia Zhang
  Cc: Tianjia Zhang

Simplify the sgx code implemntation by using library function
getauxval() instead of a custom function to get the base address
of vDSO.

Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
---
 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..5167505fbb46 100644
--- a/tools/testing/selftests/sgx/main.c
+++ b/tools/testing/selftests/sgx/main.c
@@ -15,6 +15,7 @@
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <sys/types.h>
+#include <sys/auxv.h>
 #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 *)getauxval(AT_SYSINFO_EHDR);
 	if (!addr)
 		goto err;
 
-- 
2.19.1.3.ge56e4f7


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v6] selftests/x86: Use getauxval() to simplify the code in sgx
  2021-03-14 11:16 [PATCH v6] selftests/x86: Use getauxval() to simplify the code in sgx Tianjia Zhang
@ 2021-03-15 13:02 ` Jarkko Sakkinen
  2021-03-23  3:08   ` Tianjia Zhang
  2021-03-24 10:08 ` [tip: x86/sgx] selftests/sgx: Use getauxval() to simplify test code tip-bot2 for Tianjia Zhang
  1 sibling, 1 reply; 7+ messages in thread
From: Jarkko Sakkinen @ 2021-03-15 13:02 UTC (permalink / raw)
  To: Tianjia Zhang
  Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, H. Peter Anvin,
	Sean Christopherson, Shuah Khan, x86, linux-sgx, linux-kselftest,
	linux-kernel, Jia Zhang

On Sun, Mar 14, 2021 at 07:16:21PM +0800, Tianjia Zhang wrote:
> Simplify the sgx code implemntation by using library function
> getauxval() instead of a custom function to get the base address
> of vDSO.
> 
> Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
> Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
> Acked-by: Shuah Khan <skhan@linuxfoundation.org>

Shuah, Boris, which tree this should be picked?

/Jarkko

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v6] selftests/x86: Use getauxval() to simplify the code in sgx
  2021-03-15 13:02 ` Jarkko Sakkinen
@ 2021-03-23  3:08   ` Tianjia Zhang
  2021-03-23 18:51     ` Borislav Petkov
  0 siblings, 1 reply; 7+ messages in thread
From: Tianjia Zhang @ 2021-03-23  3:08 UTC (permalink / raw)
  To: Shuah Khan, Borislav Petkov
  Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, H. Peter Anvin,
	Sean Christopherson, Shuah Khan, x86, linux-sgx, linux-kselftest,
	linux-kernel, Jia Zhang

Hi,

On 3/15/21 9:02 PM, Jarkko Sakkinen wrote:
> On Sun, Mar 14, 2021 at 07:16:21PM +0800, Tianjia Zhang wrote:
>> Simplify the sgx code implemntation by using library function
>> getauxval() instead of a custom function to get the base address
>> of vDSO.
>>
>> Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
>> Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
>> Acked-by: Shuah Khan <skhan@linuxfoundation.org>
> 
> Shuah, Boris, which tree this should be picked?
> 
> /Jarkko
> 

Take time to look at this.

Best regards,
Tianjia

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v6] selftests/x86: Use getauxval() to simplify the code in sgx
  2021-03-23  3:08   ` Tianjia Zhang
@ 2021-03-23 18:51     ` Borislav Petkov
  2021-03-24  9:18       ` Tianjia Zhang
  0 siblings, 1 reply; 7+ messages in thread
From: Borislav Petkov @ 2021-03-23 18:51 UTC (permalink / raw)
  To: Tianjia Zhang
  Cc: Shuah Khan, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Sean Christopherson, x86, linux-sgx, linux-kselftest,
	linux-kernel, Jia Zhang

On Tue, Mar 23, 2021 at 11:08:25AM +0800, Tianjia Zhang wrote:
> Take time to look at this.

A "please" wouldn't hurt.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v6] selftests/x86: Use getauxval() to simplify the code in sgx
  2021-03-23 18:51     ` Borislav Petkov
@ 2021-03-24  9:18       ` Tianjia Zhang
  2021-03-24  9:48         ` Borislav Petkov
  0 siblings, 1 reply; 7+ messages in thread
From: Tianjia Zhang @ 2021-03-24  9:18 UTC (permalink / raw)
  To: Borislav Petkov, Shuah Khan
  Cc: Shuah Khan, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Sean Christopherson, x86, linux-sgx, linux-kselftest,
	linux-kernel, Jia Zhang, Jarkko Sakkinen

Hi,

On 3/24/21 2:51 AM, Borislav Petkov wrote:
> On Tue, Mar 23, 2021 at 11:08:25AM +0800, Tianjia Zhang wrote:
>> Take time to look at this.
> 
> A "please" wouldn't hurt.
> 

I'm very sorry that my mistake caused your hurt. Please take time to 
look at this, which tree this should be picked?

Best regards,
Tianjia

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v6] selftests/x86: Use getauxval() to simplify the code in sgx
  2021-03-24  9:18       ` Tianjia Zhang
@ 2021-03-24  9:48         ` Borislav Petkov
  0 siblings, 0 replies; 7+ messages in thread
From: Borislav Petkov @ 2021-03-24  9:48 UTC (permalink / raw)
  To: Tianjia Zhang
  Cc: Shuah Khan, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Sean Christopherson, x86, linux-sgx, linux-kselftest,
	linux-kernel, Jia Zhang, Jarkko Sakkinen

On Wed, Mar 24, 2021 at 05:18:03PM +0800, Tianjia Zhang wrote:
> I'm very sorry that my mistake caused your hurt.

You'd have to do a lot more to cause hurt. :-)

> Please take time to look at this, which tree this should be picked?

Sure.

Thx.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [tip: x86/sgx] selftests/sgx: Use getauxval() to simplify test code
  2021-03-14 11:16 [PATCH v6] selftests/x86: Use getauxval() to simplify the code in sgx Tianjia Zhang
  2021-03-15 13:02 ` Jarkko Sakkinen
@ 2021-03-24 10:08 ` tip-bot2 for Tianjia Zhang
  1 sibling, 0 replies; 7+ messages in thread
From: tip-bot2 for Tianjia Zhang @ 2021-03-24 10:08 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Tianjia Zhang, Borislav Petkov, Jarkko Sakkinen, Shuah Khan, x86,
	linux-kernel

The following commit has been merged into the x86/sgx branch of tip:

Commit-ID:     f33dece70e11ce82a09cb1ea2d7c32347b82c67e
Gitweb:        https://git.kernel.org/tip/f33dece70e11ce82a09cb1ea2d7c32347b82c67e
Author:        Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
AuthorDate:    Sun, 14 Mar 2021 19:16:21 +08:00
Committer:     Borislav Petkov <bp@suse.de>
CommitterDate: Wed, 24 Mar 2021 10:59:09 +01:00

selftests/sgx: Use getauxval() to simplify test code

Use the library function getauxval() instead of a custom function to get
the base address of the vDSO.

 [ bp: Massage commit message. ]

Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lkml.kernel.org/r/20210314111621.68428-1-tianjia.zhang@linux.alibaba.com
---
 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 b117bb8..d304a40 100644
--- a/tools/testing/selftests/sgx/main.c
+++ b/tools/testing/selftests/sgx/main.c
@@ -15,6 +15,7 @@
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <sys/types.h>
+#include <sys/auxv.h>
 #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 *)getauxval(AT_SYSINFO_EHDR);
 	if (!addr)
 		goto err;
 

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-03-24 10:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-14 11:16 [PATCH v6] selftests/x86: Use getauxval() to simplify the code in sgx Tianjia Zhang
2021-03-15 13:02 ` Jarkko Sakkinen
2021-03-23  3:08   ` Tianjia Zhang
2021-03-23 18:51     ` Borislav Petkov
2021-03-24  9:18       ` Tianjia Zhang
2021-03-24  9:48         ` Borislav Petkov
2021-03-24 10:08 ` [tip: x86/sgx] selftests/sgx: Use getauxval() to simplify test code tip-bot2 for Tianjia Zhang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.