Message ID | 20210314111621.68428-1-tianjia.zhang@linux.alibaba.com |
---|---|
State | Accepted |
Commit | f33dece70e11ce82a09cb1ea2d7c32347b82c67e |
Headers | show |
Series | [v6] selftests/x86: Use getauxval() to simplify the code in sgx | expand |
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
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
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
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
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
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;