diff --git a/glibc.spec b/glibc.spec index ab279428b5ab9b411637cc90c0ffdc385b3221c0..cf5d5347773e2bd891a108377cf3bc672d4105a9 100644 --- a/glibc.spec +++ b/glibc.spec @@ -71,7 +71,7 @@ ############################################################################## Name: glibc Version: 2.34 -Release: 167 +Release: 168 Summary: The GNU libc libraries License: %{all_license} URL: http://www.gnu.org/software/glibc/ @@ -322,6 +322,7 @@ Patch230: backport-CVE-2025-4802.patch Patch231: backport-support-Use-const-char-argument-in-support_capture_s.patch Patch232: backport-support-Add-support_record_failure_barrier.patch Patch233: backport-elf-Test-case-for-bug-32976-CVE-2025-4802.patch +Patch234: x86-Limit-non_temporal_threshold-calculation-to-Inte.patch Patch9000: turn-default-value-of-x86_rep_stosb_threshold_form_2K_to_1M.patch Patch9001: delete-no-hard-link-to-avoid-all_language-package-to.patch @@ -1552,6 +1553,9 @@ fi %endif %changelog +* Fri June 20 2025 Xie jiamei - 2.34-168 +- x86: Limit non_temporal_threshold calculation to Intel CPUs + * Wed May 21 2025 shixuantong - 2.34-167 - Type:CVE - CVE:CVE-2025-4802 diff --git a/x86-Limit-non_temporal_threshold-calculation-to-Inte.patch b/x86-Limit-non_temporal_threshold-calculation-to-Inte.patch new file mode 100644 index 0000000000000000000000000000000000000000..a2aa4c91f3fa54e7aa985773fbab60311972e634 --- /dev/null +++ b/x86-Limit-non_temporal_threshold-calculation-to-Inte.patch @@ -0,0 +1,30 @@ +From 780c5ec622047492def40a38f73cd2d1c72b20ec Mon Sep 17 00:00:00 2001 +From: Xie jiamei +Date: Fri, 20 Jun 2025 15:03:06 +0800 +Subject: [PATCH] x86: Limit non_temporal_threshold calculation to Intel CPUs + +Multiplying non_temporal_threshold by thread count can result in an excessively +high non_temporal_threshold, causing the non-temporal path to be skipped. +This change reverts that logic, which is not present in the upstream master. + +Signed-off-by: Xie jiamei +--- + sysdeps/x86/dl-cacheinfo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h +index 1cf8c9310b..023d3ea6d4 100644 +--- a/sysdeps/x86/dl-cacheinfo.h ++++ b/sysdeps/x86/dl-cacheinfo.h +@@ -925,7 +925,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) + shared = tunable_size; + + /* keep x86 to use the same non_temporal_threshold like glibc2.28 */ +- if (threads != 0) ++ if (threads != 0 && cpu_features->basic.kind == arch_kind_intel) + non_temporal_threshold *= threads; + + tunable_size = TUNABLE_GET (x86_non_temporal_threshold, long int, NULL); +-- +2.17.1 +