3 ms·
For even better hardening, why not remove the VDSO altogether? Is the VDSO actually necessary, or is it just a way to stay ahead in the benchmark game?
by mwcampbell 11y ago
For even better hardening, why not remove the VDSO altogether? Is the VDSO actually necessary, or is it just a way to stay ahead in the benchmark game?
- karavelov 11y agoyes, and return in MS-DOS era
- mwcampbell 11y agoI don't understand. If bcantrill's description of VDSOs (buried in this presentation: https://www.youtube.com/watch?v=TrfD3pC0VSs https://www.youtube.com/watch?v=TrfD3pC0VSs) is accurate, then they're just a way to make certain syscalls faster, when syscalls are already fast enough.
- the8472 11y ago> when syscalls are already fast enough. they aren't. some syscalls get hammered so much by user space code that any overhead is too much overhead. especially with gettimeofday/clock_gettime which are used for timestamping and measuring intervals. you don't want overhead on your timing code.
- twic 11y agoLinux also has a vDSO, and a man page explaining it rather well: http://man7.org/linux/man-pages/man7/vdso.7.html http://man7.org/linux/man-pages/man7/vdso.7.html It seems the main reason is to make gettimeofday and friends faster. On the x86-64, the vDSO contains the following system calls: clock_gettime getcpu gettimeofday time Namely, system calls were latency really matters.