Author: aurel32 Date: 2015-10-18 20:36:20 +0000 (Sun, 18 Oct 2015) New Revision: 6646
Added: glibc-package/branches/glibc-branch-jessie/debian/patches/any/cvs-ld_pointer_guard.diff Modified: glibc-package/branches/glibc-branch-jessie/debian/changelog glibc-package/branches/glibc-branch-jessie/debian/patches/series Log: patches/any/cvs-ld_pointer_guard.diff: new patch from upstream to unconditionally disable LD_POINTER_GUARD. Closes: #798316, #801691. Modified: glibc-package/branches/glibc-branch-jessie/debian/changelog =================================================================== --- glibc-package/branches/glibc-branch-jessie/debian/changelog 2015-10-18 19:56:19 UTC (rev 6645) +++ glibc-package/branches/glibc-branch-jessie/debian/changelog 2015-10-18 20:36:20 UTC (rev 6646) @@ -9,6 +9,8 @@ * Replace patches/amd64/local-blacklist-on-TSX-Haswell.diff by local-blacklist-for-Intel-TSX.diff also blacklisting some Broadwell models. Closes: #800574. + * patches/any/cvs-ld_pointer_guard.diff: new patch from upstream to + unconditionally disable LD_POINTER_GUARD. Closes: #798316, #801691. -- Aurelien Jarno <aure...@debian.org> Sat, 29 Aug 2015 11:19:53 +0200 Added: glibc-package/branches/glibc-branch-jessie/debian/patches/any/cvs-ld_pointer_guard.diff =================================================================== --- glibc-package/branches/glibc-branch-jessie/debian/patches/any/cvs-ld_pointer_guard.diff (rev 0) +++ glibc-package/branches/glibc-branch-jessie/debian/patches/any/cvs-ld_pointer_guard.diff 2015-10-18 20:36:20 UTC (rev 6646) @@ -0,0 +1,62 @@ +2015-10-15 Florian Weimer <fwei...@redhat.com> + + [BZ #18928] + * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Remove + _dl_pointer_guard member. + * elf/rtld.c (_rtld_global_ro): Remove _dl_pointer_guard + initializer. + (security_init): Always set up pointer guard. + (process_envvars): Do not process LD_POINTER_GUARD. + +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -162,7 +162,6 @@ + ._dl_hwcap_mask = HWCAP_IMPORTANT, + ._dl_lazy = 1, + ._dl_fpu_control = _FPU_DEFAULT, +- ._dl_pointer_guard = 1, + ._dl_pagesize = EXEC_PAGESIZE, + ._dl_inhibit_cache = 0, + +@@ -857,15 +856,12 @@ + #endif + + /* Set up the pointer guard as well, if necessary. */ +- if (GLRO(dl_pointer_guard)) +- { +- uintptr_t pointer_chk_guard = _dl_setup_pointer_guard (_dl_random, +- stack_chk_guard); ++ uintptr_t pointer_chk_guard ++ = _dl_setup_pointer_guard (_dl_random, stack_chk_guard); + #ifdef THREAD_SET_POINTER_GUARD +- THREAD_SET_POINTER_GUARD (pointer_chk_guard); ++ THREAD_SET_POINTER_GUARD (pointer_chk_guard); + #endif +- __pointer_chk_guard_local = pointer_chk_guard; +- } ++ __pointer_chk_guard_local = pointer_chk_guard; + + /* We do not need the _dl_random value anymore. The less + information we leave behind, the better, so clear the +@@ -2607,9 +2603,6 @@ + GLRO(dl_use_load_bias) = envline[14] == '1' ? -1 : 0; + break; + } +- +- if (memcmp (envline, "POINTER_GUARD", 13) == 0) +- GLRO(dl_pointer_guard) = envline[14] != '0'; + break; + + case 14: +--- a/sysdeps/generic/ldsodefs.h ++++ b/sysdeps/generic/ldsodefs.h +@@ -591,9 +591,6 @@ + /* List of auditing interfaces. */ + struct audit_ifaces *_dl_audit; + unsigned int _dl_naudit; +- +- /* 0 if internal pointer values should not be guarded, 1 if they should. */ +- EXTERN int _dl_pointer_guard; + }; + # define __rtld_global_attribute__ + # ifdef IS_IN_rtld Modified: glibc-package/branches/glibc-branch-jessie/debian/patches/series =================================================================== --- glibc-package/branches/glibc-branch-jessie/debian/patches/series 2015-10-18 19:56:19 UTC (rev 6645) +++ glibc-package/branches/glibc-branch-jessie/debian/patches/series 2015-10-18 20:36:20 UTC (rev 6646) @@ -272,3 +272,4 @@ any/cvs-vfprintf.diff any/cvs-wscanf.diff any/cvs-ldconfig-aux-cache.diff +any/cvs-ld_pointer_guard.diff