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.