Compare commits

..

1 Commits

Author SHA1 Message Date
eabdullin
9bae7f3ead Apply patch from upstream BZ #32470 2025-03-10 13:25:29 +03:00
2 changed files with 45 additions and 63 deletions

View File

@ -1,70 +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
- target: "patch-git.lua"
find: |
local have_git = (posix == nil -- Not running under rpm.
or (posix.access('/usr/bin/git', 'x')
and posix.access(sourcedir .. '/.git/.', 'x')))
local commit_marker_contents -- For git_commit_file.
if have_git then
commit_marker_contents =
replace: |
local have_git = (posix == nil -- Not running under rpm.
or (posix.access('/usr/bin/git', 'x')
and posix.access(sourcedir .. '/.git/.', 'x')))
local commit_marker_contents -- For git_commit_file.
-- If the branch/tag is AlmaLinux, then we need to get history of Upstream
-- branch/tag, and skip all AlmaLinux-specific commits. To avoid duplicates
-- in changelog and bumped release numbers
local log_branch = 'HEAD'
if have_git then
log_branch = string.match(run_git('rev-parse --abbrev-ref HEAD'), '([^\n]+)')
local anum = string.match(log_branch, '^a(%d+s?)$')
if anum then
log_branch = 'c' .. anum
else
log_branch = string.match(run_git('describe --tags --exact-match'), '([^\n]+)')
local anum, aname = string.match(log_branch, '^changed/a(%d+s?)/(.+)$')
if anum then
local cname = string.gsub(aname, '%.alma%.[0-9]+$', '')
log_branch = 'imports/c' .. anum .. '/' .. cname
end
end
commit_marker_contents =
count: 1
- target: "patch-git.lua"
find: |
commit_marker_contents =
run_git('rev-parse HEAD') .. 'v' .. VERSION .. '\n'
replace: |
commit_marker_contents =
run_git('rev-parse ' .. log_branch) .. 'v' .. VERSION .. '\n'
count: 1
- target: "patch-git.lua"
find: |
'log --first-parent --no-renames --raw --pretty=fuller --date=default > '
.. git_log_file)
replace: |
'log --first-parent --no-renames --raw --pretty=fuller --date=default '
.. log_branch .. ' > ' .. git_log_file)
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"
- "Update patch-git.lua to handle AlmaLinux branches correctly"
- name: "Koichiro Iwao"
email: "meta@almalinux.org"
line:
- "Apply patch from upstream BZ #32470"

View File

@ -0,0 +1,36 @@
From 1b1f940938b6971a8c4eba33abf9cdcec83298a5 Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
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