From 3eb70a8670a8be263062cc0dde37b0e8b5bffaa6 Mon Sep 17 00:00:00 2001 From: iAnatoly Date: Tue, 25 Aug 2020 15:07:09 -0700 Subject: [PATCH] clock_getress is added to vDSO for x86 as of Jun 22, 2019: https://github.com/torvalds/linux/commit/f66501dc53e72079045a6a17e023b41316ede220 --- SysCall/linux-syscall-3.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/SysCall/linux-syscall-3.md b/SysCall/linux-syscall-3.md index 16c4132..6c99a44 100644 --- a/SysCall/linux-syscall-3.md +++ b/SysCall/linux-syscall-3.md @@ -357,12 +357,13 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) } ``` -The `map_vdso` function is defined in the same source code file and maps pages for the `vDSO` and for the shared `vDSO` variables. That's all. The main differences between the `vsyscall` and the `vDSO` concepts is that `vsyscall` has a static address of `ffffffffff600000` and implements `3` system calls, whereas the `vDSO` loads dynamically and implements four system calls: +The `map_vdso` function is defined in the same source code file and maps pages for the `vDSO` and for the shared `vDSO` variables. That's all. The main differences between the `vsyscall` and the `vDSO` concepts is that `vsyscall` has a static address of `ffffffffff600000` and implements three system calls, whereas the `vDSO` loads dynamically and implements five system calls, as defined in [arch/x86/entry/vdso/vma.c](https://github.com/torvalds/linux/blob/master/arch/x86/entry/vdso/vdso.lds.S): * `__vdso_clock_gettime`; * `__vdso_getcpu`; * `__vdso_gettimeofday`; -* `__vdso_time`. +* `__vdso_time`; +* `__vdso_clock_getres`. That's all.