summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-11-29 17:44:25 +0100
committerMarius Bakke <mbakke@fastmail.com>2019-12-05 17:58:59 +0100
commit0b3df5c913af91bc196bb8cb41783126e55bf5a0 (patch)
treeee48136358d34fc03152864c0a1622beffd8520a
parent5d229b496373179998f6a51da47629554c2d1e18 (diff)
gnu: glibc: Update to 2.30.
* gnu/packages/patches/glibc-CVE-2019-19126.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/base.scm (glibc): Update to 2.30. [source](patches): Adjust for 2.30. (glibc-2.29): New public variable.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/base.scm28
-rw-r--r--gnu/packages/patches/glibc-CVE-2019-19126.patch22
3 files changed, 46 insertions, 5 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index fef7fd1e289..25dfef38495 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -906,6 +906,7 @@ dist_patch_DATA = \
906 %D%/packages/patches/glibc-CVE-2018-11237.patch \ 906 %D%/packages/patches/glibc-CVE-2018-11237.patch \
907 %D%/packages/patches/glibc-CVE-2019-7309.patch \ 907 %D%/packages/patches/glibc-CVE-2019-7309.patch \
908 %D%/packages/patches/glibc-CVE-2019-9169.patch \ 908 %D%/packages/patches/glibc-CVE-2019-9169.patch \
909 %D%/packages/patches/glibc-CVE-2019-19126.patch \
909 %D%/packages/patches/glibc-allow-kernel-2.6.32.patch \ 910 %D%/packages/patches/glibc-allow-kernel-2.6.32.patch \
910 %D%/packages/patches/glibc-boot-2.16.0.patch \ 911 %D%/packages/patches/glibc-boot-2.16.0.patch \
911 %D%/packages/patches/glibc-boot-2.2.5.patch \ 912 %D%/packages/patches/glibc-boot-2.2.5.patch \
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index a444213a84f..caaa04258c0 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -567,13 +567,13 @@ the store.")
567 ;; version 2.28, GNU/Hurd used a different glibc branch. 567 ;; version 2.28, GNU/Hurd used a different glibc branch.
568 (package 568 (package
569 (name "glibc") 569 (name "glibc")
570 (version "2.29") 570 (version "2.30")
571 (source (origin 571 (source (origin
572 (method url-fetch) 572 (method url-fetch)
573 (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) 573 (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
574 (sha256 574 (sha256
575 (base32 575 (base32
576 "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk")) 576 "1bxqpg91d02qnaz837a5kamm0f43pr1il4r9pknygywsar713i72"))
577 (snippet 577 (snippet
578 ;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is 578 ;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
579 ;; required on LFS distros to avoid loading the distro's libc.so 579 ;; required on LFS distros to avoid loading the distro's libc.so
@@ -585,9 +585,7 @@ the store.")
585 #t)) 585 #t))
586 (modules '((guix build utils))) 586 (modules '((guix build utils)))
587 (patches (search-patches "glibc-ldd-x86_64.patch" 587 (patches (search-patches "glibc-ldd-x86_64.patch"
588 "glibc-CVE-2019-7309.patch" 588 "glibc-CVE-2019-19126.patch"
589 "glibc-CVE-2019-9169.patch"
590 "glibc-2.29-git-updates.patch"
591 "glibc-hidden-visibility-ldconfig.patch" 589 "glibc-hidden-visibility-ldconfig.patch"
592 "glibc-versioned-locpath.patch" 590 "glibc-versioned-locpath.patch"
593 "glibc-allow-kernel-2.6.32.patch" 591 "glibc-allow-kernel-2.6.32.patch"
@@ -819,6 +817,26 @@ with the Linux kernel.")
819;; Below are old libc versions, which we use mostly to build locale data in 817;; Below are old libc versions, which we use mostly to build locale data in
820;; the old format (which the new libc cannot cope with.) 818;; the old format (which the new libc cannot cope with.)
821 819
820(define-public glibc-2.29
821 (package
822 (inherit glibc)
823 (version "2.29")
824 (source (origin
825 (inherit (package-source glibc))
826 (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
827 (sha256
828 (base32
829 "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk"))
830 (patches (search-patches "glibc-ldd-x86_64.patch"
831 "glibc-CVE-2019-7309.patch"
832 "glibc-CVE-2019-9169.patch"
833 "glibc-2.29-git-updates.patch"
834 "glibc-hidden-visibility-ldconfig.patch"
835 "glibc-versioned-locpath.patch"
836 "glibc-allow-kernel-2.6.32.patch"
837 "glibc-reinstate-prlimit64-fallback.patch"
838 "glibc-supported-locales.patch"))))))
839
822(define-public glibc-2.28 840(define-public glibc-2.28
823 (package 841 (package
824 (inherit glibc) 842 (inherit glibc)
diff --git a/gnu/packages/patches/glibc-CVE-2019-19126.patch b/gnu/packages/patches/glibc-CVE-2019-19126.patch
new file mode 100644
index 00000000000..5b9ac58ab7f
--- /dev/null
+++ b/gnu/packages/patches/glibc-CVE-2019-19126.patch
@@ -0,0 +1,22 @@
1Fix CVE-2019-19126:
2
3https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19126
4https://sourceware.org/bugzilla/show_bug.cgi?id=25204
5
6Taken from upstream:
7https://sourceware.org/git/?p=glibc.git;a=commit;h=37c90e117310728a4ad1eb998c0bbe7d79c4a398
8
9diff --git a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
10index 975cbe2..df2cdfd 100644
11--- a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
12+++ b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
13@@ -31,7 +31,8 @@
14 environment variable, LD_PREFER_MAP_32BIT_EXEC. */
15 #define EXTRA_LD_ENVVARS \
16 case 21: \
17- if (memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0) \
18+ if (!__libc_enable_secure \
19+ && memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0) \
20 GLRO(dl_x86_cpu_features).feature[index_arch_Prefer_MAP_32BIT_EXEC] \
21 |= bit_arch_Prefer_MAP_32BIT_EXEC; \
22 break;