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

Reply via email to