forked from rpms/glibc
import glibc-2.28-214.el8
This commit is contained in:
parent
47dd9aa948
commit
24ac4d3150
96
SOURCES/glibc-rh2118667.patch
Normal file
96
SOURCES/glibc-rh2118667.patch
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
commit dd2315a866a4ac2b838ea1cb10c5ea1c35d51a2f
|
||||||
|
Author: Florian Weimer <fweimer@redhat.com>
|
||||||
|
Date: Tue Aug 16 08:27:50 2022 +0200
|
||||||
|
|
||||||
|
elf: Run tst-audit-tlsdesc, tst-audit-tlsdesc-dlopen everywhere
|
||||||
|
|
||||||
|
The test is valid for all TLS models, but we want to make a reasonable
|
||||||
|
effort to test the GNU2 model specifically. For example, aarch64
|
||||||
|
defaults to GNU2, but does not have -mtls-dialect=gnu2, and the test
|
||||||
|
was not run there.
|
||||||
|
|
||||||
|
Suggested-by: Martin Coufal <mcoufal@redhat.com>
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
elf/Makefile
|
||||||
|
(missing tst-align3 backport, missing libdl integration)
|
||||||
|
|
||||||
|
diff --git a/elf/Makefile b/elf/Makefile
|
||||||
|
index 9e721d5d4e0a1cd9..1dd36ba0486e56a0 100644
|
||||||
|
--- a/elf/Makefile
|
||||||
|
+++ b/elf/Makefile
|
||||||
|
@@ -331,6 +331,8 @@ tests += \
|
||||||
|
tst-addr1 \
|
||||||
|
tst-align \
|
||||||
|
tst-align2 \
|
||||||
|
+ tst-audit-tlsdesc \
|
||||||
|
+ tst-audit-tlsdesc-dlopen \
|
||||||
|
tst-audit1 \
|
||||||
|
tst-audit11 \
|
||||||
|
tst-audit12 \
|
||||||
|
@@ -607,6 +609,8 @@ modules-names = \
|
||||||
|
tst-alignmod2 \
|
||||||
|
tst-array2dep \
|
||||||
|
tst-array5dep \
|
||||||
|
+ tst-audit-tlsdesc-mod1 \
|
||||||
|
+ tst-audit-tlsdesc-mod2 \
|
||||||
|
tst-audit11mod1 \
|
||||||
|
tst-audit11mod2 \
|
||||||
|
tst-audit12mod1 \
|
||||||
|
@@ -640,6 +644,7 @@ modules-names = \
|
||||||
|
tst-auditmanymod7 \
|
||||||
|
tst-auditmanymod8 \
|
||||||
|
tst-auditmanymod9 \
|
||||||
|
+ tst-auditmod-tlsdesc \
|
||||||
|
tst-auditmod1 \
|
||||||
|
tst-auditmod9a \
|
||||||
|
tst-auditmod9b \
|
||||||
|
@@ -809,23 +814,8 @@ modules-names += tst-gnu2-tls1mod
|
||||||
|
$(objpfx)tst-gnu2-tls1: $(objpfx)tst-gnu2-tls1mod.so
|
||||||
|
tst-gnu2-tls1mod.so-no-z-defs = yes
|
||||||
|
CFLAGS-tst-gnu2-tls1mod.c += -mtls-dialect=gnu2
|
||||||
|
+endif # $(have-mtls-dialect-gnu2)
|
||||||
|
|
||||||
|
-tests += tst-audit-tlsdesc tst-audit-tlsdesc-dlopen
|
||||||
|
-modules-names += tst-audit-tlsdesc-mod1 tst-audit-tlsdesc-mod2 tst-auditmod-tlsdesc
|
||||||
|
-$(objpfx)tst-audit-tlsdesc: $(objpfx)tst-audit-tlsdesc-mod1.so \
|
||||||
|
- $(objpfx)tst-audit-tlsdesc-mod2.so \
|
||||||
|
- $(shared-thread-library)
|
||||||
|
-CFLAGS-tst-audit-tlsdesc-mod1.c += -mtls-dialect=gnu2
|
||||||
|
-CFLAGS-tst-audit-tlsdesc-mod2.c += -mtls-dialect=gnu2
|
||||||
|
-$(objpfx)tst-audit-tlsdesc-dlopen: $(shared-thread-library) $(libdl)
|
||||||
|
-$(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-audit-tlsdesc-mod1.so \
|
||||||
|
- $(objpfx)tst-audit-tlsdesc-mod2.so
|
||||||
|
-$(objpfx)tst-audit-tlsdesc-mod1.so: $(objpfx)tst-audit-tlsdesc-mod2.so
|
||||||
|
-$(objpfx)tst-audit-tlsdesc.out: $(objpfx)tst-auditmod-tlsdesc.so
|
||||||
|
-tst-audit-tlsdesc-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so
|
||||||
|
-$(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-auditmod-tlsdesc.so
|
||||||
|
-tst-audit-tlsdesc-dlopen-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so
|
||||||
|
-endif
|
||||||
|
ifeq (yes,$(have-protected-data))
|
||||||
|
modules-names += tst-protected1moda tst-protected1modb
|
||||||
|
tests += tst-protected1a tst-protected1b
|
||||||
|
@@ -2559,5 +2549,23 @@ $(objpfx)tst-tls21.out: $(objpfx)tst-tls21mod.so
|
||||||
|
$(objpfx)tst-tls21mod.so: $(tst-tls-many-dynamic-modules:%=$(objpfx)%.so)
|
||||||
|
|
||||||
|
$(objpfx)tst-rtld-run-static.out: $(objpfx)/ldconfig
|
||||||
|
+
|
||||||
|
$(objpfx)tst-dlmopen-gethostbyname: $(libdl)
|
||||||
|
$(objpfx)tst-dlmopen-gethostbyname.out: $(objpfx)tst-dlmopen-gethostbyname-mod.so
|
||||||
|
+$(objpfx)tst-audit-tlsdesc: $(objpfx)tst-audit-tlsdesc-mod1.so \
|
||||||
|
+ $(objpfx)tst-audit-tlsdesc-mod2.so \
|
||||||
|
+ $(shared-thread-library)
|
||||||
|
+ifeq (yes,$(have-mtls-dialect-gnu2))
|
||||||
|
+# The test is valid for all TLS types, but we want to exercise GNU2
|
||||||
|
+# TLS if possible.
|
||||||
|
+CFLAGS-tst-audit-tlsdesc-mod1.c += -mtls-dialect=gnu2
|
||||||
|
+CFLAGS-tst-audit-tlsdesc-mod2.c += -mtls-dialect=gnu2
|
||||||
|
+endif
|
||||||
|
+$(objpfx)tst-audit-tlsdesc-dlopen: $(shared-thread-library) $(libdl)
|
||||||
|
+$(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-audit-tlsdesc-mod1.so \
|
||||||
|
+ $(objpfx)tst-audit-tlsdesc-mod2.so
|
||||||
|
+$(objpfx)tst-audit-tlsdesc-mod1.so: $(objpfx)tst-audit-tlsdesc-mod2.so
|
||||||
|
+$(objpfx)tst-audit-tlsdesc.out: $(objpfx)tst-auditmod-tlsdesc.so
|
||||||
|
+tst-audit-tlsdesc-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so
|
||||||
|
+$(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-auditmod-tlsdesc.so
|
||||||
|
+tst-audit-tlsdesc-dlopen-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so
|
39
SOURCES/glibc-rh2122498.patch
Normal file
39
SOURCES/glibc-rh2122498.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
commit 02ca25fef2785974011e9c5beecc99b900b69fd7
|
||||||
|
Author: Fabian Vogt <fvogt@suse.de>
|
||||||
|
Date: Wed Jul 27 11:44:07 2022 +0200
|
||||||
|
|
||||||
|
nscd: Fix netlink cache invalidation if epoll is used [BZ #29415]
|
||||||
|
|
||||||
|
Processes cache network interface information such as whether IPv4 or IPv6
|
||||||
|
are enabled. This is only checked again if the "netlink timestamp" provided
|
||||||
|
by nscd changed, which is triggered by netlink socket activity.
|
||||||
|
|
||||||
|
However, in the epoll handler for the netlink socket, it was missed to
|
||||||
|
assign the new timestamp to the nscd database. The handler for plain poll
|
||||||
|
did that properly, copy that over.
|
||||||
|
|
||||||
|
This bug caused that e.g. processes which started before network
|
||||||
|
configuration got unusuable addresses from getaddrinfo, like IPv6 only even
|
||||||
|
though only IPv4 is available:
|
||||||
|
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1041
|
||||||
|
|
||||||
|
It's a bit hard to reproduce, so I verified this by checking the timestamp
|
||||||
|
on calls to __check_pf manually. Without this patch it's stuck at 1, now
|
||||||
|
it's increasing on network changes as expected.
|
||||||
|
|
||||||
|
Signed-off-by: Fabian Vogt <fvogt@suse.de>
|
||||||
|
|
||||||
|
diff --git a/nscd/connections.c b/nscd/connections.c
|
||||||
|
index 98182007646a33d5..19039bdbb210466a 100644
|
||||||
|
--- a/nscd/connections.c
|
||||||
|
+++ b/nscd/connections.c
|
||||||
|
@@ -2286,7 +2286,8 @@ main_loop_epoll (int efd)
|
||||||
|
sizeof (buf))) != -1)
|
||||||
|
;
|
||||||
|
|
||||||
|
- __bump_nl_timestamp ();
|
||||||
|
+ dbs[hstdb].head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP]
|
||||||
|
+ = __bump_nl_timestamp ();
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
else
|
54
SOURCES/glibc-rh2125222.patch
Normal file
54
SOURCES/glibc-rh2125222.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
commit a23820f6052a740246fdc7dcd9c43ce8eed0c45a
|
||||||
|
Author: Javier Pello <devel@otheo.eu>
|
||||||
|
Date: Mon Sep 5 20:09:01 2022 +0200
|
||||||
|
|
||||||
|
elf: Fix hwcaps string size overestimation
|
||||||
|
|
||||||
|
Commit dad90d528259b669342757c37dedefa8577e2636 added glibc-hwcaps
|
||||||
|
support for LD_LIBRARY_PATH and, for this, it adjusted the total
|
||||||
|
string size required in _dl_important_hwcaps. However, in doing so
|
||||||
|
it inadvertently altered the calculation of the size required for
|
||||||
|
the power set strings, as the computation of the power set string
|
||||||
|
size depended on the first value assigned to the total variable,
|
||||||
|
which is later shifted, resulting in overallocation of string
|
||||||
|
space. Fix this now by using a different variable to hold the
|
||||||
|
string size required for glibc-hwcaps.
|
||||||
|
|
||||||
|
Signed-off-by: Javier Pello <devel@otheo.eu>
|
||||||
|
|
||||||
|
diff --git a/elf/dl-hwcaps.c b/elf/dl-hwcaps.c
|
||||||
|
index 2fc4ae67a0f5d051..7ac27fd689187edc 100644
|
||||||
|
--- a/elf/dl-hwcaps.c
|
||||||
|
+++ b/elf/dl-hwcaps.c
|
||||||
|
@@ -193,7 +193,7 @@ _dl_important_hwcaps (const char *glibc_hwcaps_prepend,
|
||||||
|
/* Each hwcaps subdirectory has a GLIBC_HWCAPS_PREFIX string prefix
|
||||||
|
and a "/" suffix once stored in the result. */
|
||||||
|
hwcaps_counts.maximum_length += strlen (GLIBC_HWCAPS_PREFIX) + 1;
|
||||||
|
- size_t total = (hwcaps_counts.count * (strlen (GLIBC_HWCAPS_PREFIX) + 1)
|
||||||
|
+ size_t hwcaps_sz = (hwcaps_counts.count * (strlen (GLIBC_HWCAPS_PREFIX) + 1)
|
||||||
|
+ hwcaps_counts.total_length);
|
||||||
|
|
||||||
|
/* Count the number of bits set in the masked value. */
|
||||||
|
@@ -229,11 +229,12 @@ _dl_important_hwcaps (const char *glibc_hwcaps_prepend,
|
||||||
|
assert (m == cnt);
|
||||||
|
|
||||||
|
/* Determine the total size of all strings together. */
|
||||||
|
+ size_t total;
|
||||||
|
if (cnt == 1)
|
||||||
|
- total += temp[0].len + 1;
|
||||||
|
+ total = temp[0].len + 1;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- total += temp[0].len + temp[cnt - 1].len + 2;
|
||||||
|
+ total = temp[0].len + temp[cnt - 1].len + 2;
|
||||||
|
if (cnt > 2)
|
||||||
|
{
|
||||||
|
total <<= 1;
|
||||||
|
@@ -255,6 +256,7 @@ _dl_important_hwcaps (const char *glibc_hwcaps_prepend,
|
||||||
|
/* This is the overall result, including both glibc-hwcaps
|
||||||
|
subdirectories and the legacy hwcaps subdirectories using the
|
||||||
|
power set construction. */
|
||||||
|
+ total += hwcaps_sz;
|
||||||
|
struct r_strlenpair *overall_result
|
||||||
|
= malloc (*sz * sizeof (*result) + total);
|
||||||
|
if (overall_result == NULL)
|
@ -1,6 +1,6 @@
|
|||||||
%define glibcsrcdir glibc-2.28
|
%define glibcsrcdir glibc-2.28
|
||||||
%define glibcversion 2.28
|
%define glibcversion 2.28
|
||||||
%define glibcrelease 211%{?dist}
|
%define glibcrelease 214%{?dist}
|
||||||
# Pre-release tarballs are pulled in from git using a command that is
|
# Pre-release tarballs are pulled in from git using a command that is
|
||||||
# effectively:
|
# effectively:
|
||||||
#
|
#
|
||||||
@ -968,6 +968,9 @@ Patch775: glibc-rh2104907.patch
|
|||||||
Patch776: glibc-rh2119304-1.patch
|
Patch776: glibc-rh2119304-1.patch
|
||||||
Patch777: glibc-rh2119304-2.patch
|
Patch777: glibc-rh2119304-2.patch
|
||||||
Patch778: glibc-rh2119304-3.patch
|
Patch778: glibc-rh2119304-3.patch
|
||||||
|
Patch779: glibc-rh2118667.patch
|
||||||
|
Patch780: glibc-rh2122498.patch
|
||||||
|
Patch781: glibc-rh2125222.patch
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Continued list of core "glibc" package information:
|
# Continued list of core "glibc" package information:
|
||||||
@ -2798,6 +2801,15 @@ fi
|
|||||||
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Sep 20 2022 Florian Weimer <fweimer@redhat.com> - 2.28-214
|
||||||
|
- Fix hwcaps search path size computation (#2125222)
|
||||||
|
|
||||||
|
* Tue Sep 20 2022 Florian Weimer <fweimer@redhat.com> - 2.28-213
|
||||||
|
- Fix nscd netlink cache invalidation if epoll is used (#2122498)
|
||||||
|
|
||||||
|
* Tue Sep 20 2022 Florian Weimer <fweimer@redhat.com> - 2.28-212
|
||||||
|
- Run tst-audit-tlsdesc, tst-audit-tlsdesc-dlopen everywhere (#2118667)
|
||||||
|
|
||||||
* Thu Aug 25 2022 Florian Weimer <fweimer@redhat.com> - 2.28-211
|
* Thu Aug 25 2022 Florian Weimer <fweimer@redhat.com> - 2.28-211
|
||||||
- Preserve GLRO (dl_naudit) internal ABI (#2119304)
|
- Preserve GLRO (dl_naudit) internal ABI (#2119304)
|
||||||
- Avoid s390x ABI change due to z16 recognition on s390x (#2119304)
|
- Avoid s390x ABI change due to z16 recognition on s390x (#2119304)
|
||||||
|
Loading…
Reference in New Issue
Block a user