Author: aurel32
Date: 2015-10-18 20:36:25 +0000 (Sun, 18 Oct 2015)
New Revision: 6647

Added:
   
glibc-package/branches/glibc-2.21/debian/patches/any/cvs-ld_pointer_guard.diff
Modified:
   glibc-package/branches/glibc-2.21/debian/changelog
   glibc-package/branches/glibc-2.21/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-2.21/debian/changelog
===================================================================
--- glibc-package/branches/glibc-2.21/debian/changelog  2015-10-18 20:36:20 UTC 
(rev 6646)
+++ glibc-package/branches/glibc-2.21/debian/changelog  2015-10-18 20:36:25 UTC 
(rev 6647)
@@ -66,6 +66,8 @@
     build failure.
   * debhelper.in/libc.preinst: fix up error message for too old Linux
     kernels.  Closes: #800846.
+  * patches/any/cvs-ld_pointer_guard.diff: new patch from upstream to
+    unconditionally disable LD_POINTER_GUARD.  Closes: #798316, #801691.
 
   [ Steven Chamberlain ]
   * sysdeps/kfreebsd.mk: find kfreebsd-kernel-headers in multiarch path.

Added: 
glibc-package/branches/glibc-2.21/debian/patches/any/cvs-ld_pointer_guard.diff
===================================================================
--- 
glibc-package/branches/glibc-2.21/debian/patches/any/cvs-ld_pointer_guard.diff  
                            (rev 0)
+++ 
glibc-package/branches/glibc-2.21/debian/patches/any/cvs-ld_pointer_guard.diff  
    2015-10-18 20:36:25 UTC (rev 6647)
@@ -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 @@ struct rtld_global_ro _rtld_global_ro attribute_relro =
+     ._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,
+ 
+@@ -709,15 +708,12 @@ security_init (void)
+ #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
+@@ -2471,9 +2467,6 @@ process_envvars (enum mode *modep)
+             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
+@@ -592,9 +592,6 @@ struct rtld_global_ro
+   /* 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__
+ # if IS_IN (rtld)

Modified: glibc-package/branches/glibc-2.21/debian/patches/series
===================================================================
--- glibc-package/branches/glibc-2.21/debian/patches/series     2015-10-18 
20:36:20 UTC (rev 6646)
+++ glibc-package/branches/glibc-2.21/debian/patches/series     2015-10-18 
20:36:25 UTC (rev 6647)
@@ -267,3 +267,4 @@
 any/cvs-make-typo.diff
 any/cvs-logbl-accuracy.diff
 any/local-math-logb.diff
+any/cvs-ld_pointer_guard.diff

Reply via email to