* [bug#52693] [PATCH] gnu: glibc: Handle failure to find $ORIGIN.
@ 2021-12-21 1:25 Ivan Kozlov
2022-01-14 8:20 ` Ludovic Courtès
2023-01-29 23:34 ` bug#52693: " Ludovic Courtès
0 siblings, 2 replies; 5+ messages in thread
From: Ivan Kozlov @ 2021-12-21 1:25 UTC (permalink / raw)
To: 52693
Fixes <https://issues.guix.gnu.org/52671>.
* gnu/packages/patches/glibc-dl-cache.patch: Check pointer returned by '_dl_get_origin' for failure indication.
---
gnu/packages/patches/glibc-dl-cache.patch | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/patches/glibc-dl-cache.patch b/gnu/packages/patches/glibc-dl-cache.patch
index 68c3a94846..1535e8e9c9 100644
--- a/gnu/packages/patches/glibc-dl-cache.patch
+++ b/gnu/packages/patches/glibc-dl-cache.patch
@@ -3,10 +3,10 @@ from /etc/ld.so.cache. Also arrange so that this cache takes
precedence over RUNPATH.
diff --git a/elf/dl-cache.c b/elf/dl-cache.c
-index 93d185e788..e0760a1f40 100644
+index 93d185e788..801452692d 100644
--- a/elf/dl-cache.c
+++ b/elf/dl-cache.c
-@@ -171,6 +171,51 @@ _dl_cache_libcmp (const char *p1, const char *p2)
+@@ -171,6 +171,52 @@ _dl_cache_libcmp (const char *p1, const char *p2)
return *p1 - *p2;
}
@@ -27,7 +27,8 @@ index 93d185e788..e0760a1f40 100644
+ const char *origin = _dl_get_origin ();
+
+ /* Check whether ORIGIN is something like "/gnu/store/…-foo/bin". */
-+ if (strncmp (store, origin, strlen (store)) == 0
++ if (origin != (char *)-1 /* _dl_get_origin reported failure */
++ && strncmp (store, origin, strlen (store)) == 0
+ && origin[sizeof store - 1] == '/')
+ {
+ char *store_item_end = strchr (origin + sizeof store, '/');
@@ -58,7 +59,7 @@ index 93d185e788..e0760a1f40 100644
/* Look up NAME in ld.so.cache and return the file name stored there, or null
if none is found. The cache is loaded if it was not already. If loading
-@@ -190,12 +235,15 @@ _dl_load_cache_lookup (const char *name)
+@@ -190,12 +236,15 @@ _dl_load_cache_lookup (const char *name)
/* Print a message if the loading of libs is traced. */
if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
base-commit: 88b4dcdabe512992ae79a50fc333e4e463d91634
--
2.28.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#52693] [PATCH] gnu: glibc: Handle failure to find $ORIGIN.
2021-12-21 1:25 [bug#52693] [PATCH] gnu: glibc: Handle failure to find $ORIGIN Ivan Kozlov
@ 2022-01-14 8:20 ` Ludovic Courtès
2022-01-14 22:40 ` Maxim Cournoyer
2023-01-29 23:34 ` bug#52693: " Ludovic Courtès
1 sibling, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2022-01-14 8:20 UTC (permalink / raw)
To: Ivan Kozlov; +Cc: 52693, Maxim Cournoyer
Hello,
Ivan Kozlov <kanichos@yandex.ru> skribis:
> Fixes <https://issues.guix.gnu.org/52671>.
>
> * gnu/packages/patches/glibc-dl-cache.patch: Check pointer returned by '_dl_get_origin' for failure indication.
Perfect, thank you Ivan.
Maxim, should we include it in ‘version-1.4.0’?
I’m fine either way (it’s a much welcome fix but it’s not critical IMO).
Ludo’.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#52693] [PATCH] gnu: glibc: Handle failure to find $ORIGIN.
2022-01-14 8:20 ` Ludovic Courtès
@ 2022-01-14 22:40 ` Maxim Cournoyer
2022-01-17 14:59 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Maxim Cournoyer @ 2022-01-14 22:40 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 52693, Ivan Kozlov
Hi,
Ludovic Courtès <ludo@gnu.org> writes:
> Hello,
>
> Ivan Kozlov <kanichos@yandex.ru> skribis:
>
>> Fixes <https://issues.guix.gnu.org/52671>.
>>
>> * gnu/packages/patches/glibc-dl-cache.patch: Check pointer returned
>> by '_dl_get_origin' for failure indication.
Is this a world rebuilding change? If so, I'm afraid it'll have to wait
until the next rebuild cycle comes as we're already far into building
the version-1.4.0 branch.
Thanks,
Maxim
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#52693] [PATCH] gnu: glibc: Handle failure to find $ORIGIN.
2022-01-14 22:40 ` Maxim Cournoyer
@ 2022-01-17 14:59 ` Ludovic Courtès
0 siblings, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2022-01-17 14:59 UTC (permalink / raw)
To: Maxim Cournoyer; +Cc: 52693, Ivan Kozlov
Hi,
Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hello,
>>
>> Ivan Kozlov <kanichos@yandex.ru> skribis:
>>
>>> Fixes <https://issues.guix.gnu.org/52671>.
>>>
>>> * gnu/packages/patches/glibc-dl-cache.patch: Check pointer returned
>>> by '_dl_get_origin' for failure indication.
>
> Is this a world rebuilding change?
Yes.
> If so, I'm afraid it'll have to wait until the next rebuild cycle
> comes as we're already far into building the version-1.4.0 branch.
Sounds good, no worries.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#52693: [PATCH] gnu: glibc: Handle failure to find $ORIGIN.
2021-12-21 1:25 [bug#52693] [PATCH] gnu: glibc: Handle failure to find $ORIGIN Ivan Kozlov
2022-01-14 8:20 ` Ludovic Courtès
@ 2023-01-29 23:34 ` Ludovic Courtès
1 sibling, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2023-01-29 23:34 UTC (permalink / raw)
To: Ivan Kozlov; +Cc: 52693-done, 52671-done
Hi Ivan,
Ivan Kozlov <kanichos@yandex.ru> skribis:
> Fixes <https://issues.guix.gnu.org/52671>.
>
> * gnu/packages/patches/glibc-dl-cache.patch: Check pointer returned by '_dl_get_origin' for failure indication.
Somehow we forgot about this patch for a whole year, and it turns out I
stumbled upon the bug again just hours ago¹.
Now pushed to ‘core-updates’ as
edb8c09addd186d9538d43b12af74d6c7aeea082.
Thanks again, and apologies for the delay!
Ludo’.
¹ https://issues.guix.gnu.org/61156
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-01-29 23:35 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-21 1:25 [bug#52693] [PATCH] gnu: glibc: Handle failure to find $ORIGIN Ivan Kozlov
2022-01-14 8:20 ` Ludovic Courtès
2022-01-14 22:40 ` Maxim Cournoyer
2022-01-17 14:59 ` Ludovic Courtès
2023-01-29 23:34 ` bug#52693: " Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.