Adapt RHEL-80538 fix to _dl_find_object backport
Resolves: RHEL-105957
This commit is contained in:
parent
fd535a578c
commit
f9e37fbb1e
33
glibc-RHEL-105957.patch
Normal file
33
glibc-RHEL-105957.patch
Normal file
@ -0,0 +1,33 @@
|
||||
Downstream patch only.
|
||||
|
||||
Revert changes made to elf/dl-readonly-area.c compared to
|
||||
ed6a68bac7cd056abda9008019c71b167f0362dc since `_dl_find_object` has
|
||||
been backported.
|
||||
|
||||
Note: `_dl_find_object` isn't directly made available internally
|
||||
downstream, we can use `__dl_find_object_internal` instead.
|
||||
|
||||
diff --git a/elf/dl-readonly-area.c b/elf/dl-readonly-area.c
|
||||
index 570b99b11527db13..3b39eed06a379ce3 100644
|
||||
--- a/elf/dl-readonly-area.c
|
||||
+++ b/elf/dl-readonly-area.c
|
||||
@@ -40,16 +40,11 @@ check_relro (const struct link_map *l, uintptr_t start, uintptr_t end)
|
||||
enum dl_readonly_area_error_type
|
||||
_dl_readonly_area (const void *ptr, size_t size)
|
||||
{
|
||||
- /* Protect against concurrent loads and unloads. */
|
||||
- __rtld_lock_lock_recursive (GL(dl_load_lock));
|
||||
-
|
||||
- const struct link_map *l = _dl_find_dso_for_object ((ElfW(Addr)) ptr);
|
||||
-
|
||||
- __rtld_lock_unlock_recursive (GL(dl_load_lock));
|
||||
-
|
||||
- if (l == NULL)
|
||||
+ struct dl_find_object dlfo;
|
||||
+ if (__dl_find_object_internal ((void *)ptr, &dlfo) != 0)
|
||||
return dl_readonly_area_not_found;
|
||||
|
||||
+ const struct link_map *l = dlfo.dlfo_link_map;
|
||||
uintptr_t ptr_start = (uintptr_t) ptr;
|
||||
uintptr_t ptr_end = ptr_start + size;
|
||||
|
||||
@ -157,7 +157,7 @@ end \
|
||||
Summary: The GNU libc libraries
|
||||
Name: glibc
|
||||
Version: %{glibcversion}
|
||||
Release: 219%{?dist}
|
||||
Release: 220%{?dist}
|
||||
|
||||
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
||||
# libraries.
|
||||
@ -1324,6 +1324,7 @@ Patch1014: glibc-RHEL-93320-19.patch
|
||||
Patch1015: glibc-RHEL-103952.patch
|
||||
Patch1016: glibc-RHEL-105327.patch
|
||||
Patch1017: glibc-RHEL-74251.patch
|
||||
Patch1018: glibc-RHEL-105957.patch
|
||||
|
||||
##############################################################################
|
||||
# Continued list of core "glibc" package information:
|
||||
@ -3321,6 +3322,10 @@ update_gconv_modules_cache ()
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Jul 28 2025 Frédéric Bérat <fberat@redhat.com> - 2.34-220
|
||||
- Revert downstream changes as `_dl_find_object` has been backported
|
||||
(RHEL-105957)
|
||||
|
||||
* Fri Jul 25 2025 Frédéric Bérat <fberat@redhat.com> - 2.34-219
|
||||
- The dynamic linker no longer crashed when processing specific symbol versions.
|
||||
(RHEL-74251)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user