CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
glibc: added patches for CVE-2015-8776, CVE-2015-8777, CVE-2015-8778, CVE-2015-8779
[ports/core-arm.git] / glibc / CVE-2015-8777.patch
1 diff --git a/elf/rtld.c b/elf/rtld.c
2 index 69873c2..07e741c 100644
3 --- a/elf/rtld.c
4 +++ b/elf/rtld.c
5 @@ -162,7 +162,6 @@ struct rtld_global_ro _rtld_global_ro attribute_relro =
6 ._dl_hwcap_mask = HWCAP_IMPORTANT,
7 ._dl_lazy = 1,
8 ._dl_fpu_control = _FPU_DEFAULT,
9 - ._dl_pointer_guard = 1,
10 ._dl_pagesize = EXEC_PAGESIZE,
11 ._dl_inhibit_cache = 0,
12
13 @@ -709,15 +708,12 @@ security_init (void)
14 #endif
15
16 /* Set up the pointer guard as well, if necessary. */
17 - if (GLRO(dl_pointer_guard))
18 - {
19 - uintptr_t pointer_chk_guard = _dl_setup_pointer_guard (_dl_random,
20 - stack_chk_guard);
21 + uintptr_t pointer_chk_guard
22 + = _dl_setup_pointer_guard (_dl_random, stack_chk_guard);
23 #ifdef THREAD_SET_POINTER_GUARD
24 - THREAD_SET_POINTER_GUARD (pointer_chk_guard);
25 + THREAD_SET_POINTER_GUARD (pointer_chk_guard);
26 #endif
27 - __pointer_chk_guard_local = pointer_chk_guard;
28 - }
29 + __pointer_chk_guard_local = pointer_chk_guard;
30
31 /* We do not need the _dl_random value anymore. The less
32 information we leave behind, the better, so clear the
33 @@ -2471,9 +2467,6 @@ process_envvars (enum mode *modep)
34 GLRO(dl_use_load_bias) = envline[14] == '1' ? -1 : 0;
35 break;
36 }
37 -
38 - if (memcmp (envline, "POINTER_GUARD", 13) == 0)
39 - GLRO(dl_pointer_guard) = envline[14] != '0';
40 break;
41
42 case 14:
43 diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
44 index 7a0fe8d..78e3a97 100644
45 --- a/sysdeps/generic/ldsodefs.h
46 +++ b/sysdeps/generic/ldsodefs.h
47 @@ -592,9 +592,6 @@ struct rtld_global_ro
48 /* List of auditing interfaces. */
49 struct audit_ifaces *_dl_audit;
50 unsigned int _dl_naudit;
51 -
52 - /* 0 if internal pointer values should not be guarded, 1 if they should. */
53 - EXTERN int _dl_pointer_guard;
54 };
55 # define __rtld_global_attribute__
56 # if IS_IN (rtld)
57 --
58 1.9.4
59