~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/ABI/stable/vdso

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/ABI/stable/vdso (Version linux-6.12-rc7) and /Documentation/ABI/stable/vdso (Version linux-5.16.20)


  1 What:           vDSO                                1 What:           vDSO
  2 Date:           July 2011                           2 Date:           July 2011
  3 KernelVersion:  3.0                                 3 KernelVersion:  3.0
  4 Contact:        Andy Lutomirski <luto@kernel.or      4 Contact:        Andy Lutomirski <luto@kernel.org>
  5 Description:                                        5 Description:
  6                                                     6 
  7 On some architectures, when the kernel loads a      7 On some architectures, when the kernel loads any userspace program it
  8 maps an ELF DSO into that program's address sp      8 maps an ELF DSO into that program's address space.  This DSO is called
  9 the vDSO and it often contains useful and high      9 the vDSO and it often contains useful and highly-optimized alternatives
 10 to real syscalls.                                  10 to real syscalls.
 11                                                    11 
 12 These functions are called according to your p !!  12 These functions are called just like ordinary C function according to
 13 platforms they are called just like ordinary C !!  13 your platform's ABI.  Call them from a sensible context.  (For example,
 14 (ex: powerpc) they are called with the same co !!  14 if you set CS on x86 to something strange, the vDSO functions are
 15 is different from ordinary C functions. Call t << 
 16 (For example, if you set CS on x86 to somethin << 
 17 within their rights to crash.)  In addition, i     15 within their rights to crash.)  In addition, if you pass a bad
 18 pointer to a vDSO function, you might get SIGS     16 pointer to a vDSO function, you might get SIGSEGV instead of -EFAULT.
 19                                                    17 
 20 To find the DSO, parse the auxiliary vector pa     18 To find the DSO, parse the auxiliary vector passed to the program's
 21 entry point.  The AT_SYSINFO_EHDR entry will p     19 entry point.  The AT_SYSINFO_EHDR entry will point to the vDSO.
 22                                                    20 
 23 The vDSO uses symbol versioning; whenever you      21 The vDSO uses symbol versioning; whenever you request a symbol from the
 24 vDSO, specify the version you are expecting.       22 vDSO, specify the version you are expecting.
 25                                                    23 
 26 Programs that dynamically link to glibc will u     24 Programs that dynamically link to glibc will use the vDSO automatically.
 27 Otherwise, you can use the reference parser in     25 Otherwise, you can use the reference parser in
 28 tools/testing/selftests/vDSO/parse_vdso.c.         26 tools/testing/selftests/vDSO/parse_vdso.c.
 29                                                    27 
 30 Unless otherwise noted, the set of symbols wit     28 Unless otherwise noted, the set of symbols with any given version and the
 31 ABI of those symbols is considered stable.  It     29 ABI of those symbols is considered stable.  It may vary across architectures,
 32 though.                                            30 though.
 33                                                    31 
 34 Note:                                              32 Note:
 35  As of this writing, this ABI documentation as     33  As of this writing, this ABI documentation as been confirmed for x86_64.
 36  The maintainers of the other vDSO-using archi     34  The maintainers of the other vDSO-using architectures should confirm
 37  that it is correct for their architecture.        35  that it is correct for their architecture.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php