GNU bug report logs - #52693
[PATCH] gnu: glibc: Handle failure to find $ORIGIN.

Previous Next

Package: guix-patches;

Reported by: Ivan Kozlov <kanichos <at> yandex.ru>

Date: Tue, 21 Dec 2021 01:27:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 52693 in the body.
You can then email your comments to 52693 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#52693; Package guix-patches. (Tue, 21 Dec 2021 01:27:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ivan Kozlov <kanichos <at> yandex.ru>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 21 Dec 2021 01:27:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ivan Kozlov <kanichos <at> yandex.ru>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: glibc: Handle failure to find $ORIGIN.
Date: Tue, 21 Dec 2021 04:25:50 +0300
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




Information forwarded to guix-patches <at> gnu.org:
bug#52693; Package guix-patches. (Fri, 14 Jan 2022 08:21:01 GMT) Full text and rfc822 format available.

Message #8 received at 52693 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ivan Kozlov <kanichos <at> yandex.ru>
Cc: 52693 <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: bug#52693: [PATCH] gnu: glibc: Handle failure to find $ORIGIN.
Date: Fri, 14 Jan 2022 09:20:34 +0100
Hello,

Ivan Kozlov <kanichos <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#52693; Package guix-patches. (Fri, 14 Jan 2022 22:41:01 GMT) Full text and rfc822 format available.

Message #11 received at 52693 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 52693 <at> debbugs.gnu.org, Ivan Kozlov <kanichos <at> yandex.ru>
Subject: Re: bug#52693: [PATCH] gnu: glibc: Handle failure to find $ORIGIN.
Date: Fri, 14 Jan 2022 17:40:44 -0500
Hi,

Ludovic Courtès <ludo <at> gnu.org> writes:

> Hello,
>
> Ivan Kozlov <kanichos <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#52693; Package guix-patches. (Mon, 17 Jan 2022 15:00:02 GMT) Full text and rfc822 format available.

Message #14 received at 52693 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 52693 <at> debbugs.gnu.org, Ivan Kozlov <kanichos <at> yandex.ru>
Subject: Re: bug#52693: [PATCH] gnu: glibc: Handle failure to find $ORIGIN.
Date: Mon, 17 Jan 2022 15:59:45 +0100
Hi,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:

> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Hello,
>>
>> Ivan Kozlov <kanichos <at> 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’.




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Sun, 29 Jan 2023 23:35:02 GMT) Full text and rfc822 format available.

Notification sent to Ivan Kozlov <kanichos <at> yandex.ru>:
bug acknowledged by developer. (Sun, 29 Jan 2023 23:35:02 GMT) Full text and rfc822 format available.

Message #19 received at 52693-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ivan Kozlov <kanichos <at> yandex.ru>
Cc: 52693-done <at> debbugs.gnu.org, 52671-done <at> debbugs.gnu.org
Subject: Re: bug#52693: [PATCH] gnu: glibc: Handle failure to find $ORIGIN.
Date: Mon, 30 Jan 2023 00:34:40 +0100
Hi Ivan,

Ivan Kozlov <kanichos <at> 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




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 27 Feb 2023 12:24:12 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 52 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.