From 9bae7f3ead7323d839d58867fd1f3c1c89f39d8d Mon Sep 17 00:00:00 2001 From: eabdullin Date: Mon, 10 Mar 2025 13:10:58 +0300 Subject: [PATCH] Apply patch from upstream BZ #32470 --- config.yaml | 21 ++++++-------- files/glibc-upstream-2.34-bz-32470.patch | 36 ++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 13 deletions(-) create mode 100644 files/glibc-upstream-2.34-bz-32470.patch diff --git a/config.yaml b/config.yaml index ee6bf7a..a3b8a86 100644 --- a/config.yaml +++ b/config.yaml @@ -1,21 +1,16 @@ actions: - - replace: - - target: "spec" - find: "%define target %{_target_cpu}-redhat-linux" - replace: | - %define target %{_target_cpu}-redhat-linux - %ifarch x86_64_v2 - %define target x86_64-redhat-linux - %endif - count: 1 + - add_files: + - type: "patch" + name: "glibc-upstream-2.34-bz-32470.patch" + number: 1000 - modify_release: - suffix: ".alma.1" enabled: true - changelog_entry: - - name: "Eduard Abdullin" - email: "eabdullin@almalinux.org" - line: - - "Overwrite target for x86_64_v2" + - name: "Koichiro Iwao" + email: "meta@almalinux.org" + line: + - "Apply patch from upstream BZ #32470" \ No newline at end of file diff --git a/files/glibc-upstream-2.34-bz-32470.patch b/files/glibc-upstream-2.34-bz-32470.patch new file mode 100644 index 0000000..5dc75ba --- /dev/null +++ b/files/glibc-upstream-2.34-bz-32470.patch @@ -0,0 +1,36 @@ +From 1b1f940938b6971a8c4eba33abf9cdcec83298a5 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Tue, 17 Dec 2024 18:12:03 +0100 +Subject: [PATCH] x86: Avoid integer truncation with large cache sizes (bug + 32470) + +Some hypervisors report 1 TiB L3 cache size. This results +in some variables incorrectly getting zeroed, causing crashes +in memcpy/memmove because invariants are violated. + +(cherry picked from commit 61c3450db96dce96ad2b24b4f0b548e6a46d68e5) +--- + sysdeps/x86/dl-cacheinfo.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h +index 84b10b8540..7865e87054 100644 +--- a/sysdeps/x86/dl-cacheinfo.h ++++ b/sysdeps/x86/dl-cacheinfo.h +@@ -901,12 +901,12 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) + + #if HAVE_TUNABLES + /* NB: The REP MOVSB threshold must be greater than VEC_SIZE * 8. */ +- unsigned int minimum_rep_movsb_threshold; ++ unsigned long int minimum_rep_movsb_threshold; + #endif + /* NB: The default REP MOVSB threshold is 4096 * (VEC_SIZE / 16) for + VEC_SIZE == 64 or 32. For VEC_SIZE == 16, the default REP MOVSB + threshold is 2048 * (VEC_SIZE / 16). */ +- unsigned int rep_movsb_threshold; ++ unsigned long int rep_movsb_threshold; + if (CPU_FEATURE_USABLE_P (cpu_features, AVX512F) + && !CPU_FEATURE_PREFERRED_P (cpu_features, Prefer_No_AVX512)) + { +-- +2.46.2