Global Information Lookup Global Information

VDSO information



vDSO (virtual dynamic shared object) is a kernel mechanism for exporting a carefully selected set of kernel space routines to user space applications so that applications can call these kernel space routines in-process, without incurring the performance penalty of a mode switch from user mode to kernel mode that is inherent when calling these same kernel space routines by means of the system call interface.[1][2]

vDSO uses standard mechanisms for linking and loading i.e. standard Executable and Linkable Format (ELF) format.[3][4] vDSO is a memory area allocated in user space which exposes some kernel functionalities. vDSO is dynamically allocated, offers improved safety through address space layout randomization, and supports more than four system calls. Some C standard libraries, like glibc, may provide vDSO links so that if the kernel does not have vDSO support, a traditional syscall is made.[5] vDSO helps to reduce the calling overhead on simple kernel routines, and it also can work as a way to select the best system-call method on some computer architectures such as IA-32.[6] An advantage over other methods is that such exported routines can provide proper DWARF (Debug With Attributed Record Format) debugging information. Implementation generally implies hooks in the dynamic linker to find the vDSOs.

vDSO was developed to offer the vsyscall features while overcoming its limitations: a small amount of statically allocated memory, which allows only four system calls, and the same addresses application binary interface (ABI) in each process, which compromises security. This security issue has been mitigated by emulating a virtual system call, but the emulation introduces additional latency.[5]

  1. ^ Enrico Perla; Massimiliano Oldani (16 December 2016). Kernel Hacking: Exploits verstehen, schreiben und abwehren: Schwachstellen in Kernel-Architekturen erkennen und Gegenmaßnahmen ergreifen (in German). Franzis Verlag. pp. 466–. ISBN 978-3-645-20503-0.
  2. ^ "vDSO - overview of the virtual ELF dynamic shared object". Canonical. Archived from the original on 4 March 2016. Retrieved 10 December 2015.
  3. ^ "Creating a vDSO: the Colonel's Other Chicken". Linuxjournal.com. Retrieved 16 February 2015.
  4. ^ "On vsyscalls and the vDSO". Lwn.net. Retrieved 16 February 2015.
  5. ^ a b "Community answer to question "What are vDSO and vsyscall?"". Retrieved 19 November 2016.
  6. ^ "Anatomy of a system call, part 2". Lwn.net. Retrieved 19 November 2018.

and 6 Related for: VDSO information

Request time (Page generated in 0.5148 seconds.)

VDSO

Last Update:

vDSO (virtual dynamic shared object) is a kernel mechanism for exporting a carefully selected set of kernel space routines to user space applications so...

Word Count : 371

Linux kernel

Last Update:

Archived from the original on 19 January 2020. Retrieved 28 January 2020. "vdso(7) - Linux manual page". man7.org. Archived from the original on 2 February...

Word Count : 18415

Executable and Linkable Format

Last Update:

Binary Compatibility Standard Portable Executable – format used by Windows vDSO – virtual DSO Position-independent code Tool Interface Standard (TIS) Executable...

Word Count : 2298

System call

Last Update:

found in old versions of IRIX, HP-UX and Solaris. DOS API Linux kernel API VDSO In UNIX-like operating systems, system calls are used only for the kernel...

Word Count : 2282

Linux kernel interfaces

Last Update:

system call API design pattern". LWN.net. 2014-02-12. "On vsyscalls and the vDSO". LWN.net. 2011-06-08. "[PATCH, RFC] random: introduce getrandom(2) system...

Word Count : 1718

Protection ring

Last Update:

other direction. The Linux kernel, for instance, injects into processes a vDSO section which contains functions that would normally require a system call...

Word Count : 3626

PDF Search Engine © AllGlobal.net