Upstream commit: fffc2df8a3e2c8cda2991063d23086360268b777 - i386: Provide GLIBC_ABI_GNU_TLS symbol version [BZ #33221] - i386: Update ___tls_get_addr to preserve vector registers - Extend struct r_debug to support multiple namespaces (RHEL-101985) - Fix a potential crash in the dynamic loader when processing specific symbol versions (RHEL-109683) - Signal la_objopen for ld.so with dlmopen (RHEL-109693) - Switch to main malloc after final ld.so self-relocation (RHEL-109703) - Prevent ld.so from asserting and crashing during audited library loads (RHEL-109702) - x86-64: Provide GLIBC_ABI_DT_X86_64_PLT symbol version (RHEL-109621) - x86-64, i386: Provide GLIBC_ABI_GNU2_TLS symbol version (RHEL-109625) - Ensure fallback initialization of ctype TLS data pointers to fix segfaults in programs using dlmopen or auditors (RHEL-72018) - Handle load segment gaps in _dl_find_object (RHEL-104854) - AArch64: Improve codegen in SVE log1p - AArch64: Optimize inverse trig functions - AArch64: Avoid memset ifunc in cpu-features.c [BZ #33112] Resolves: RHEL-109536 Resolves: RHEL-72018 Resolves: RHEL-101985 Resolves: RHEL-104854 Resolves: RHEL-109621 Resolves: RHEL-109625 Resolves: RHEL-109683 Resolves: RHEL-109693 Resolves: RHEL-109702 Resolves: RHEL-109703
28 lines
1.1 KiB
Diff
28 lines
1.1 KiB
Diff
commit b6ea8902a72fb746ae5cd71ddf1172c5ead89972
|
|
Author: Wilco Dijkstra <wilco.dijkstra@arm.com>
|
|
Date: Fri Jun 27 14:10:55 2025 +0000
|
|
|
|
AArch64: Avoid memset ifunc in cpu-features.c [BZ #33112]
|
|
|
|
During early startup memcpy or memset must not be called since many targets
|
|
use ifuncs for them which won't be initialized yet. Security hardening may
|
|
use -ftrivial-auto-var-init=zero which inserts calls to memset. Redirect
|
|
memset to memset_generic by including dl-symbol-redir-ifunc.h in cpu-features.c.
|
|
This fixes BZ #33112.
|
|
|
|
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
(cherry picked from commit 681a24ae4d0cb8ed92de98b4da660308840b09ba)
|
|
|
|
diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
|
|
index c0b047bc0dbeae42..0ad55a0c7f66618f 100644
|
|
--- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
|
|
+++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
|
|
@@ -23,6 +23,7 @@
|
|
#include <sys/prctl.h>
|
|
#include <sys/utsname.h>
|
|
#include <dl-tunables-parse.h>
|
|
+#include <dl-symbol-redir-ifunc.h>
|
|
|
|
#define DCZID_DZP_MASK (1 << 4)
|
|
#define DCZID_BS_MASK (0xf)
|