diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-07-19 18:42:26 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-12-28 08:40:38 -0300 |
commit | f0e23d34a7bdf6b90fba954ee741419171ac41b2 (patch) | |
tree | 5feb3808f994056a7e846f423124a718c242eb2f /elf/setup-vdso.h | |
parent | d1b38173c9255b1a4ae00018ad9b35404a7c74d0 (diff) | |
download | glibc-f0e23d34a7bdf6b90fba954ee741419171ac41b2.tar.gz glibc-f0e23d34a7bdf6b90fba954ee741419171ac41b2.tar.xz glibc-f0e23d34a7bdf6b90fba954ee741419171ac41b2.zip |
elf: Issue audit la_objopen for vDSO
The vDSO is is listed in the link_map chain, but is never the subject of an la_objopen call. A new internal flag __RTLD_VDSO is added that acts as __RTLD_OPENEXEC to allocate the required 'struct auditstate' extra space for the 'struct link_map'. The return value from the callback is currently ignored, since there is no PLT call involved by glibc when using the vDSO, neither the vDSO are exported directly. Checked on x86_64-linux-gnu, i686-linux-gnu, and aarch64-linux-gnu. Reviewed-by: Florian Weimer <fweimer@redhat.com>
Diffstat (limited to 'elf/setup-vdso.h')
-rw-r--r-- | elf/setup-vdso.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/elf/setup-vdso.h b/elf/setup-vdso.h index 3f20578046..2b013d974a 100644 --- a/elf/setup-vdso.h +++ b/elf/setup-vdso.h @@ -30,7 +30,7 @@ setup_vdso (struct link_map *main_map __attribute__ ((unused)), We just want our data structures to describe it as if we had just mapped and relocated it normally. */ struct link_map *l = _dl_new_object ((char *) "", "", lt_library, NULL, - 0, LM_ID_BASE); + __RTLD_VDSO, LM_ID_BASE); if (__glibc_likely (l != NULL)) { l->l_phdr = ((const void *) GLRO(dl_sysinfo_dso) |