diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2024-02-01 10:50:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-01 10:50:46 +0100 |
commit | 2c582510dbd6657db54222db0567e7c34bd9bb24 (patch) | |
tree | 7d902cba20179e6387604ef13da342d4d8fae5f1 | |
parent | 06002f375e1d20f1481abcb696a50f232202e7ac (diff) | |
parent | 7f8349fd48d8b996646017d5770aab6b13684529 (diff) | |
download | nixlib-2c582510dbd6657db54222db0567e7c34bd9bb24.tar nixlib-2c582510dbd6657db54222db0567e7c34bd9bb24.tar.gz nixlib-2c582510dbd6657db54222db0567e7c34bd9bb24.tar.bz2 nixlib-2c582510dbd6657db54222db0567e7c34bd9bb24.tar.lz nixlib-2c582510dbd6657db54222db0567e7c34bd9bb24.tar.xz nixlib-2c582510dbd6657db54222db0567e7c34bd9bb24.tar.zst nixlib-2c582510dbd6657db54222db0567e7c34bd9bb24.zip |
Merge pull request #285050 from LeSuisse/glibc-2.38-44
glibc: 2.38-27 -> 2.38-44 and patch for glibc possible memory corruption in qsort()
-rw-r--r-- | pkgs/development/libraries/glibc/2.38-master.patch.gz | bin | 35936 -> 55343 bytes | |||
-rw-r--r-- | pkgs/development/libraries/glibc/common.nix | 9 | ||||
-rw-r--r-- | pkgs/development/libraries/glibc/local-qsort-memory-corruption.patch | 14 |
3 files changed, 21 insertions, 2 deletions
diff --git a/pkgs/development/libraries/glibc/2.38-master.patch.gz b/pkgs/development/libraries/glibc/2.38-master.patch.gz index 6414956807f4..a07e4f8e1d50 100644 --- a/pkgs/development/libraries/glibc/2.38-master.patch.gz +++ b/pkgs/development/libraries/glibc/2.38-master.patch.gz Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 3e17817c0bab..3eea259d8605 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -44,7 +44,7 @@ let version = "2.38"; - patchSuffix = "-27"; + patchSuffix = "-44"; sha256 = "sha256-+4KZiZiyspllRnvBtp0VLpwwfSzzAcnq+0VVt3DvP9I="; in @@ -60,7 +60,7 @@ stdenv.mkDerivation ({ [ /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping. $ git fetch --all -p && git checkout origin/release/2.38/master && git describe - glibc-2.38-27-g750a45a783 + glibc-2.38-44-gd37c2b20a4 $ git show --minimal --reverse glibc-2.38.. | gzip -9n --rsyncable - > 2.38-master.patch.gz To compare the archive contents zdiff can be used. @@ -96,6 +96,11 @@ stdenv.mkDerivation ({ & https://github.com/NixOS/nixpkgs/pull/188492#issuecomment-1233802991 */ ./reenable_DT_HASH.patch + + /* Retrieved from https://salsa.debian.org/glibc-team/glibc/-/commit/662dbc4f9287139a0d9c91df328a5ba6cc6abee1#0f3c6d67cb8cf5bb35c421c20f828fea97b68edf + Qualys advisory: https://www.qualys.com/2024/01/30/qsort.txt + */ + ./local-qsort-memory-corruption.patch ] /* NVCC does not support ARM intrinsics. Since <math.h> is pulled in by almost every HPC piece of software, without this patch CUDA compilation on ARM diff --git a/pkgs/development/libraries/glibc/local-qsort-memory-corruption.patch b/pkgs/development/libraries/glibc/local-qsort-memory-corruption.patch new file mode 100644 index 000000000000..f7e25c72a61c --- /dev/null +++ b/pkgs/development/libraries/glibc/local-qsort-memory-corruption.patch @@ -0,0 +1,14 @@ +diff -rup a/stdlib/qsort.c b/stdlib/qsort.c +--- a/stdlib/qsort.c 2023-07-31 10:54:16.000000000 -0700 ++++ b/stdlib/qsort.c 2024-01-15 09:08:25.596167959 -0800 +@@ -224,7 +224,8 @@ _quicksort (void *const pbase, size_t to + while ((run_ptr += size) <= end_ptr) + { + tmp_ptr = run_ptr - size; +- while ((*cmp) ((void *) run_ptr, (void *) tmp_ptr, arg) < 0) ++ while (tmp_ptr != base_ptr ++ && (*cmp) ((void *) run_ptr, (void *) tmp_ptr, arg) < 0) + tmp_ptr -= size; + + tmp_ptr += size; + |