Accepting request 769468 from home:Andreas_Schwab:Factory
- Update to glibc 2.31 * The GNU C Library now supports a feature test macro _ISOC2X_SOURCE to enable features from the draft ISO C2X standard * The <math.h> functions that round their results to a narrower type now have corresponding type-generic macros in <tgmath.h> * The function pthread_clockjoin_np has been added, enabling join with a terminated thread with a specific clock * New locale added: mnw_MM (Mon language spoken in Myanmar). * The DNS stub resolver will optionally send the AD (authenticated data) bit in queries if the trust-ad option is set via the options directive in /etc/resolv.conf (or if RES_TRUSTAD is set in _res.options) * The totalorder and totalordermag functions, and the corresponding functions for other floating-point types, now take pointer arguments to avoid signaling NaNs possibly being converted to quiet NaNs in argument passing * The obsolete function stime is no longer available to newly linked binaries, and its declaration has been removed from <time.h> * The gettimeofday function no longer reports information about a system-wide time zone * If a lazy binding failure happens during dlopen, during the execution of an ELF constructor, the process is now terminated - malloc-info-whitespace.patch, riscv-vfork.patch, prefer-map-32bit-exec.patch, backtrace-powerpc.patch, ldconfig-dynstr.patch: Removed. OBS-URL: https://build.opensuse.org/request/show/769468 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=549
This commit is contained in:
parent
0c5a6b5f96
commit
ae7d54a91d
@ -1,66 +0,0 @@
|
|||||||
From d93769405996dfc11d216ddbe415946617b5a494 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andreas Schwab <schwab@suse.de>
|
|
||||||
Date: Mon, 20 Jan 2020 17:01:50 +0100
|
|
||||||
Subject: [PATCH] Fix array overflow in backtrace on PowerPC (bug 25423)
|
|
||||||
|
|
||||||
When unwinding through a signal frame the backtrace function on PowerPC
|
|
||||||
didn't check array bounds when storing the frame address. Fixes commit
|
|
||||||
d400dcac5e ("PowerPC: fix backtrace to handle signal trampolines").
|
|
||||||
---
|
|
||||||
debug/tst-backtrace5.c | 12 ++++++++++++
|
|
||||||
sysdeps/powerpc/powerpc32/backtrace.c | 2 ++
|
|
||||||
sysdeps/powerpc/powerpc64/backtrace.c | 2 ++
|
|
||||||
3 files changed, 16 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/debug/tst-backtrace5.c b/debug/tst-backtrace5.c
|
|
||||||
index e7ce410845..b2f46160e7 100644
|
|
||||||
--- a/debug/tst-backtrace5.c
|
|
||||||
+++ b/debug/tst-backtrace5.c
|
|
||||||
@@ -89,6 +89,18 @@ handle_signal (int signum)
|
|
||||||
}
|
|
||||||
/* Symbol names are not available for static functions, so we do not
|
|
||||||
check do_test. */
|
|
||||||
+
|
|
||||||
+ /* Check that backtrace does not return more than what fits in the array
|
|
||||||
+ (bug 25423). */
|
|
||||||
+ for (int j = 0; j < NUM_FUNCTIONS; j++)
|
|
||||||
+ {
|
|
||||||
+ n = backtrace (addresses, j);
|
|
||||||
+ if (n > j)
|
|
||||||
+ {
|
|
||||||
+ FAIL ();
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
NO_INLINE int
|
|
||||||
diff --git a/sysdeps/powerpc/powerpc32/backtrace.c b/sysdeps/powerpc/powerpc32/backtrace.c
|
|
||||||
index 7c2d4726f8..d1456c8ae4 100644
|
|
||||||
--- a/sysdeps/powerpc/powerpc32/backtrace.c
|
|
||||||
+++ b/sysdeps/powerpc/powerpc32/backtrace.c
|
|
||||||
@@ -114,6 +114,8 @@ __backtrace (void **array, int size)
|
|
||||||
}
|
|
||||||
if (gregset)
|
|
||||||
{
|
|
||||||
+ if (count + 1 == size)
|
|
||||||
+ break;
|
|
||||||
array[++count] = (void*)((*gregset)[PT_NIP]);
|
|
||||||
current = (void*)((*gregset)[PT_R1]);
|
|
||||||
}
|
|
||||||
diff --git a/sysdeps/powerpc/powerpc64/backtrace.c b/sysdeps/powerpc/powerpc64/backtrace.c
|
|
||||||
index 65c260ab76..8a53a1088f 100644
|
|
||||||
--- a/sysdeps/powerpc/powerpc64/backtrace.c
|
|
||||||
+++ b/sysdeps/powerpc/powerpc64/backtrace.c
|
|
||||||
@@ -87,6 +87,8 @@ __backtrace (void **array, int size)
|
|
||||||
if (is_sigtramp_address (current->return_address))
|
|
||||||
{
|
|
||||||
struct signal_frame_64 *sigframe = (struct signal_frame_64*) current;
|
|
||||||
+ if (count + 1 == size)
|
|
||||||
+ break;
|
|
||||||
array[++count] = (void*) sigframe->uc.uc_mcontext.gp_regs[PT_NIP];
|
|
||||||
current = (void*) sigframe->uc.uc_mcontext.gp_regs[PT_R1];
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.25.0
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:e2c4114e569afbe7edbc29131a43be833850ab9a459d81beb2588016d2bbb8af
|
|
||||||
size 16576920
|
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEEcnNUKzmWLfeymZMUFnkrTqJTQPgFAl1DRIYACgkQFnkrTqJT
|
|
||||||
QPjGfBAAhds1wnuzs5K1NDOCurXDu/WLe+isQB3zEQEQy15Wy2ZHNN801k9Wt9j7
|
|
||||||
vd4mG5whsMdjzXE6QmEY9x/kREQ5XQV4vlGBO8r9ZO42retlWWYBtuoLo6weS2WK
|
|
||||||
FstZ8k5hcS83ZBs/fbea4OFv5L6kopVkqYbqHQMudxLZIjTGVXjjwWBZqlAbW9UE
|
|
||||||
iIynJ/f5SwLisIQfRKT//B4lANaH2hvxfZlfngbWRaSnsj28BK3Ut+HwgZpVU+N0
|
|
||||||
O/Yi5hp38IKBNvso4h1//LYCYIOiZVbvdWFXUXhvpOySrKpU+/akSk3B3okgsAnO
|
|
||||||
WjcCqJNtdjJqRhhLhn8IxJtBOxojqfY5Yjchjj6VkXm9AYDjWxxiwQuNOkyK6nRC
|
|
||||||
KBLkwAkOAI45yAd5p9oBiVDAeyQFww1bwdojBjHgPKySM2JJI6fooQ1c8wd8ZCiO
|
|
||||||
QsHpd7JnBhWaLr6Xm50U2aED4s6lf3auEr49mQDbuizl6DUHLHzFGx7kN6vXGQaC
|
|
||||||
FPNuskYdKzM+eEbdpbP49niska1DBjSYjDddO/AMGRHlzjcPUn5mQht3XquUQNby
|
|
||||||
EP6S9DrS6J3rM88Wz4Rl/8tsWQ9W+u/fImtHjobC7oZ+0eFGpZ0ZT50pbZxzsQkb
|
|
||||||
7yWU92RXuN7ySg9MUzLG7Z60iVTWgkFU8gaZGBTOXcskm04K5og=
|
|
||||||
=i6A/
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
glibc-2.31.tar.xz
Normal file
3
glibc-2.31.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9246fe44f68feeec8c666bb87973d590ce0137cca145df014c72ec95be9ffd17
|
||||||
|
size 16676764
|
11
glibc-2.31.tar.xz.sig
Normal file
11
glibc-2.31.tar.xz.sig
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQEzBAABCAAdFiEEvHxzcmN+wQxX16plecQ9+/HPIYcFAl41bZQACgkQecQ9+/HP
|
||||||
|
IYfUQgf/d5dAUK871suOXNfFcw67sHEPsnLami/WPXyyw/pXDjuLZYLNTGOmpQol
|
||||||
|
VdV38p1BxaJs0A5EBSVm32xhgMR2Jum6qKu/mpEnfy5ac1lGiTxO1pVMDDXjdPaK
|
||||||
|
S8+nJXTf3MVYUCmu4W426DdRkdsBmP0KlKo8ZFBlhAJoPXeikJMGOf/uUR5VimNE
|
||||||
|
VY2EPDHEaqrBco/lm3LqZ6RWu7+B7K5GXR2EMLBDLIKirYd17nIqzjhFjv0pcS/e
|
||||||
|
UE2K0vxA5ip59ep4xxRmDu8bOshlZlfhHGuAiD+B2iwxwWFv6D75IyrtqB5KHWtD
|
||||||
|
/crvu7njsCsgWJKNA83pkt19nj9mxQ==
|
||||||
|
=TAIE
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -8,7 +8,7 @@ Index: glibc-2.27/csu/version.c
|
|||||||
static const char banner[] =
|
static const char banner[] =
|
||||||
-"GNU C Library "PKGVERSION RELEASE" release version "VERSION".\n\
|
-"GNU C Library "PKGVERSION RELEASE" release version "VERSION".\n\
|
||||||
+"GNU C Library "PKGVERSION RELEASE" release version "VERSION" (git "GITID").\n\
|
+"GNU C Library "PKGVERSION RELEASE" release version "VERSION" (git "GITID").\n\
|
||||||
Copyright (C) 2019 Free Software Foundation, Inc.\n\
|
Copyright (C) 2020 Free Software Foundation, Inc.\n\
|
||||||
This is free software; see the source for copying conditions.\n\
|
This is free software; see the source for copying conditions.\n\
|
||||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
|
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
|
||||||
PARTICULAR PURPOSE.\n\
|
PARTICULAR PURPOSE.\n\
|
||||||
|
@ -1,3 +1,31 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 3 08:13:02 UTC 2020 - Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
- Update to glibc 2.31
|
||||||
|
* The GNU C Library now supports a feature test macro _ISOC2X_SOURCE to
|
||||||
|
enable features from the draft ISO C2X standard
|
||||||
|
* The <math.h> functions that round their results to a narrower type now
|
||||||
|
have corresponding type-generic macros in <tgmath.h>
|
||||||
|
* The function pthread_clockjoin_np has been added, enabling join with a
|
||||||
|
terminated thread with a specific clock
|
||||||
|
* New locale added: mnw_MM (Mon language spoken in Myanmar).
|
||||||
|
* The DNS stub resolver will optionally send the AD (authenticated data) bit
|
||||||
|
in queries if the trust-ad option is set via the options directive in
|
||||||
|
/etc/resolv.conf (or if RES_TRUSTAD is set in _res.options)
|
||||||
|
* The totalorder and totalordermag functions, and the corresponding
|
||||||
|
functions for other floating-point types, now take pointer arguments to
|
||||||
|
avoid signaling NaNs possibly being converted to quiet NaNs in argument
|
||||||
|
passing
|
||||||
|
* The obsolete function stime is no longer available to newly linked
|
||||||
|
binaries, and its declaration has been removed from <time.h>
|
||||||
|
* The gettimeofday function no longer reports information about a
|
||||||
|
system-wide time zone
|
||||||
|
* If a lazy binding failure happens during dlopen, during the execution of
|
||||||
|
an ELF constructor, the process is now terminated
|
||||||
|
- malloc-info-whitespace.patch, riscv-vfork.patch,
|
||||||
|
prefer-map-32bit-exec.patch, backtrace-powerpc.patch,
|
||||||
|
ldconfig-dynstr.patch: Removed.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jan 21 15:08:13 UTC 2020 - Andreas Schwab <schwab@suse.de>
|
Tue Jan 21 15:08:13 UTC 2020 - Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
23
glibc.spec
23
glibc.spec
@ -148,7 +148,7 @@ BuildArch: i686
|
|||||||
%define enablekernel 4.15
|
%define enablekernel 4.15
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Version: 2.30
|
Version: 2.31
|
||||||
Release: 0
|
Release: 0
|
||||||
%if !%{build_snapshot}
|
%if !%{build_snapshot}
|
||||||
%define git_id 0a8262a1b2
|
%define git_id 0a8262a1b2
|
||||||
@ -257,14 +257,6 @@ Patch306: glibc-fix-double-loopback.diff
|
|||||||
###
|
###
|
||||||
# Patches from upstream
|
# Patches from upstream
|
||||||
###
|
###
|
||||||
# PATCH-FIX-UPSTREAM malloc: Remove unwanted leading whitespace in malloc_info (BZ #24867)
|
|
||||||
Patch1000: malloc-info-whitespace.patch
|
|
||||||
# PATCH-FIX-UPSTREAM Fix RISC-V vfork build with Linux 5.3 kernel headers
|
|
||||||
Patch1001: riscv-vfork.patch
|
|
||||||
# PATCH-FIX-UPSTREAM rtld: Check __libc_enable_secure before honoring LD_PREFER_MAP_32BIT_EXEC (CVE-2019-19126, BZ #25204)
|
|
||||||
Patch1002: prefer-map-32bit-exec.patch
|
|
||||||
# PATCH-FIX-UPSTREAM Fix array overflow in backtrace on PowerPC (BZ #25423)
|
|
||||||
Patch1003: backtrace-powerpc.patch
|
|
||||||
|
|
||||||
###
|
###
|
||||||
# Patches awaiting upstream approval
|
# Patches awaiting upstream approval
|
||||||
@ -273,10 +265,8 @@ Patch1003: backtrace-powerpc.patch
|
|||||||
Patch2000: fix-locking-in-_IO_cleanup.patch
|
Patch2000: fix-locking-in-_IO_cleanup.patch
|
||||||
# PATCH-FIX-UPSTREAM Avoid concurrency problem in ldconfig (BZ #23973)
|
# PATCH-FIX-UPSTREAM Avoid concurrency problem in ldconfig (BZ #23973)
|
||||||
Patch2001: ldconfig-concurrency.patch
|
Patch2001: ldconfig-concurrency.patch
|
||||||
# PATCH-FIX-UPSTREAM ldconfig: handle .dynstr located in separate segment (BZ #25087)
|
|
||||||
Patch2002: ldconfig-dynstr.patch
|
|
||||||
# PATCH-FIX-UPSTREAM Fix buffer overrun in EUC-KR conversion module (BZ #24973)
|
# PATCH-FIX-UPSTREAM Fix buffer overrun in EUC-KR conversion module (BZ #24973)
|
||||||
Patch2003: euc-kr-overrun.patch
|
Patch2002: euc-kr-overrun.patch
|
||||||
|
|
||||||
# Non-glibc patches
|
# Non-glibc patches
|
||||||
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
|
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
|
||||||
@ -474,15 +464,9 @@ makedb: A program to create a database for nss
|
|||||||
%patch304 -p1
|
%patch304 -p1
|
||||||
%patch306 -p1
|
%patch306 -p1
|
||||||
|
|
||||||
%patch1000 -p1
|
|
||||||
%patch1001 -p1
|
|
||||||
%patch1002 -p1
|
|
||||||
%patch1003 -p1
|
|
||||||
|
|
||||||
%patch2000 -p1
|
%patch2000 -p1
|
||||||
%patch2001 -p1
|
%patch2001 -p1
|
||||||
%patch2002 -p1
|
%patch2002 -p1
|
||||||
%patch2003 -p1
|
|
||||||
|
|
||||||
%patch3000
|
%patch3000
|
||||||
|
|
||||||
@ -1261,9 +1245,6 @@ exit 0
|
|||||||
%{_libdir}/libnldbl_nonshared.a
|
%{_libdir}/libnldbl_nonshared.a
|
||||||
%endif
|
%endif
|
||||||
%{_libdir}/libmcheck.a
|
%{_libdir}/libmcheck.a
|
||||||
%ifarch x86_64
|
|
||||||
%{_libdir}/libmvec_nonshared.a
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files devel-static
|
%files devel-static
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
|
@ -1,86 +0,0 @@
|
|||||||
ldconfig: handle .dynstr located in separate segment (bug 25087)
|
|
||||||
|
|
||||||
To determine the load offset of the DT_STRTAB section search for the
|
|
||||||
segment containing it, instead of using the load offset of the first
|
|
||||||
segment.
|
|
||||||
|
|
||||||
[BZ #25087]
|
|
||||||
* elf/readelflib.c (process_elf_file): Use containing segment for
|
|
||||||
DT_STRTAB load offset.
|
|
||||||
---
|
|
||||||
elf/readelflib.c | 34 +++++++++++++++++++++-------------
|
|
||||||
1 file changed, 21 insertions(+), 13 deletions(-)
|
|
||||||
|
|
||||||
Index: glibc-2.30/elf/readelflib.c
|
|
||||||
===================================================================
|
|
||||||
--- glibc-2.30.orig/elf/readelflib.c
|
|
||||||
+++ glibc-2.30/elf/readelflib.c
|
|
||||||
@@ -45,7 +45,6 @@ process_elf_file (const char *file_name,
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
unsigned int j;
|
|
||||||
- ElfW(Addr) loadaddr;
|
|
||||||
unsigned int dynamic_addr;
|
|
||||||
size_t dynamic_size;
|
|
||||||
char *program_interpreter;
|
|
||||||
@@ -87,7 +86,6 @@ process_elf_file (const char *file_name,
|
|
||||||
libc5/libc6. */
|
|
||||||
*flag = FLAG_ELF;
|
|
||||||
|
|
||||||
- loadaddr = -1;
|
|
||||||
dynamic_addr = 0;
|
|
||||||
dynamic_size = 0;
|
|
||||||
program_interpreter = NULL;
|
|
||||||
@@ -98,11 +96,6 @@ process_elf_file (const char *file_name,
|
|
||||||
|
|
||||||
switch (segment->p_type)
|
|
||||||
{
|
|
||||||
- case PT_LOAD:
|
|
||||||
- if (loadaddr == (ElfW(Addr)) -1)
|
|
||||||
- loadaddr = segment->p_vaddr - segment->p_offset;
|
|
||||||
- break;
|
|
||||||
-
|
|
||||||
case PT_DYNAMIC:
|
|
||||||
if (dynamic_addr)
|
|
||||||
error (0, 0, _("more than one dynamic segment\n"));
|
|
||||||
@@ -176,11 +169,6 @@ process_elf_file (const char *file_name,
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
- if (loadaddr == (ElfW(Addr)) -1)
|
|
||||||
- {
|
|
||||||
- /* Very strange. */
|
|
||||||
- loadaddr = 0;
|
|
||||||
- }
|
|
||||||
|
|
||||||
/* Now we can read the dynamic sections. */
|
|
||||||
if (dynamic_size == 0)
|
|
||||||
@@ -197,7 +185,27 @@ process_elf_file (const char *file_name,
|
|
||||||
check_ptr (dyn_entry);
|
|
||||||
if (dyn_entry->d_tag == DT_STRTAB)
|
|
||||||
{
|
|
||||||
- dynamic_strings = (char *) (file_contents + dyn_entry->d_un.d_val - loadaddr);
|
|
||||||
+ /* Find the file offset of the segment containing the dynamic
|
|
||||||
+ string table. */
|
|
||||||
+ ElfW(Off) loadoff = -1;
|
|
||||||
+ for (i = 0, segment = elf_pheader;
|
|
||||||
+ i < elf_header->e_phnum; i++, segment++)
|
|
||||||
+ {
|
|
||||||
+ if (segment->p_type == PT_LOAD
|
|
||||||
+ && dyn_entry->d_un.d_val >= segment->p_vaddr
|
|
||||||
+ && dyn_entry->d_un.d_val < segment->p_vaddr + segment->p_filesz)
|
|
||||||
+ {
|
|
||||||
+ loadoff = segment->p_vaddr - segment->p_offset;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ if (loadoff == (ElfW(Off)) -1)
|
|
||||||
+ {
|
|
||||||
+ /* Very strange. */
|
|
||||||
+ loadoff = 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ dynamic_strings = (char *) (file_contents + dyn_entry->d_un.d_val - loadoff);
|
|
||||||
check_ptr (dynamic_strings);
|
|
||||||
break;
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
2019-08-01 Florian Weimer <fweimer@redhat.com>
|
|
||||||
|
|
||||||
[BZ #24867]
|
|
||||||
* malloc/malloc.c (__malloc_info): Remove unwanted leading
|
|
||||||
whitespace.
|
|
||||||
|
|
||||||
diff --git a/malloc/malloc.c b/malloc/malloc.c
|
|
||||||
index 00ce48cf58..343d89f489 100644
|
|
||||||
--- a/malloc/malloc.c
|
|
||||||
+++ b/malloc/malloc.c
|
|
||||||
@@ -5491,7 +5491,7 @@ __malloc_info (int options, FILE *fp)
|
|
||||||
|
|
||||||
for (size_t i = 0; i < nsizes; ++i)
|
|
||||||
if (sizes[i].count != 0 && i != NFASTBINS)
|
|
||||||
- fprintf (fp, " \
|
|
||||||
+ fprintf (fp, "\
|
|
||||||
<size from=\"%zu\" to=\"%zu\" total=\"%zu\" count=\"%zu\"/>\n",
|
|
||||||
sizes[i].from, sizes[i].to, sizes[i].total, sizes[i].count);
|
|
||||||
|
|
||||||
--
|
|
||||||
2.22.0
|
|
||||||
|
|
@ -4,23 +4,53 @@
|
|||||||
# An example Name Service Switch config file. This file should be
|
# An example Name Service Switch config file. This file should be
|
||||||
# sorted with the most-used services at the beginning.
|
# sorted with the most-used services at the beginning.
|
||||||
#
|
#
|
||||||
# The entry '[NOTFOUND=return]' means that the search for an
|
# Valid databases are: aliases, ethers, group, gshadow, hosts,
|
||||||
# entry should stop if the search in the previous entry turned
|
# initgroups, netgroup, networks, passwd, protocols, publickey,
|
||||||
# up nothing. Note that if the search failed due to some other reason
|
# rpc, services, and shadow.
|
||||||
# (like no NIS server responding) then the search continues with the
|
|
||||||
# next entry.
|
|
||||||
#
|
#
|
||||||
# Legal entries are:
|
# Valid service provider entries include (in alphabetical order):
|
||||||
#
|
#
|
||||||
# compat Use compatibility setup
|
# compat Use /etc files plus *_compat pseudo-db
|
||||||
# nisplus Use NIS+ (NIS version 3)
|
# db Use the pre-processed /var/db files
|
||||||
# nis Use NIS (NIS version 2), also called YP
|
|
||||||
# dns Use DNS (Domain Name Service)
|
# dns Use DNS (Domain Name Service)
|
||||||
# files Use the local files
|
# files Use the local files in /etc
|
||||||
# [NOTFOUND=return] Stop searching if not found so far
|
# hesiod Use Hesiod (DNS) for user lookups
|
||||||
|
# nis Use NIS (NIS version 2), also called YP
|
||||||
|
# nisplus Use NIS+ (NIS version 3)
|
||||||
#
|
#
|
||||||
# For more information, please read the nsswitch.conf.5 manual page.
|
# See `info libc 'NSS Basics'` for more information.
|
||||||
#
|
#
|
||||||
|
# Commonly used alternative service providers (may need installation):
|
||||||
|
#
|
||||||
|
# ldap Use LDAP directory server
|
||||||
|
# myhostname Use systemd host names
|
||||||
|
# mymachines Use systemd machine names
|
||||||
|
# mdns*, mdns*_minimal Use Avahi mDNS/DNS-SD
|
||||||
|
# resolve Use systemd resolved resolver
|
||||||
|
# sss Use System Security Services Daemon (sssd)
|
||||||
|
# systemd Use systemd for dynamic user option
|
||||||
|
# winbind Use Samba winbind support
|
||||||
|
# wins Use Samba wins support
|
||||||
|
# wrapper Use wrapper module for testing
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
#
|
||||||
|
# 'sssd' performs its own 'files'-based caching, so it should generally
|
||||||
|
# come before 'files'.
|
||||||
|
#
|
||||||
|
# WARNING: Running nscd with a secondary caching service like sssd may
|
||||||
|
# lead to unexpected behaviour, especially with how long
|
||||||
|
# entries are cached.
|
||||||
|
#
|
||||||
|
# Installation instructions:
|
||||||
|
#
|
||||||
|
# To use 'db', install the appropriate package(s) (provide 'makedb' and
|
||||||
|
# libnss_db.so.*), and place the 'db' in front of 'files' for entries
|
||||||
|
# you want to be looked up first in the databases, like this:
|
||||||
|
#
|
||||||
|
# passwd: db files
|
||||||
|
# shadow: db files
|
||||||
|
# group: db files
|
||||||
|
|
||||||
passwd: compat
|
passwd: compat
|
||||||
group: compat
|
group: compat
|
||||||
@ -29,14 +59,16 @@ shadow: compat
|
|||||||
hosts: files dns
|
hosts: files dns
|
||||||
networks: files dns
|
networks: files dns
|
||||||
|
|
||||||
services: files usrfiles
|
|
||||||
protocols: files usrfiles
|
|
||||||
rpc: files usrfiles
|
|
||||||
ethers: files usrfiles
|
|
||||||
netmasks: files
|
|
||||||
netgroup: files nis
|
|
||||||
publickey: files
|
|
||||||
|
|
||||||
bootparams: files
|
|
||||||
automount: files nis
|
|
||||||
aliases: files usrfiles
|
aliases: files usrfiles
|
||||||
|
ethers: files usrfiles
|
||||||
|
gshadow: files usrfiles
|
||||||
|
initgroups: files
|
||||||
|
netgroup: files nis
|
||||||
|
protocols: files usrfiles
|
||||||
|
publickey: files
|
||||||
|
rpc: files usrfiles
|
||||||
|
services: files usrfiles
|
||||||
|
|
||||||
|
automount: files nis
|
||||||
|
bootparams: files
|
||||||
|
netmasks: files
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
From d5dfad4326fc683c813df1e37bbf5cf920591c8e Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Marcin=20Ko=C5=9Bcielnicki?= <mwk@0x04.net>
|
|
||||||
Date: Thu, 21 Nov 2019 00:20:15 +0100
|
|
||||||
Subject: [PATCH] rtld: Check __libc_enable_secure before honoring
|
|
||||||
LD_PREFER_MAP_32BIT_EXEC (CVE-2019-19126) [BZ #25204]
|
|
||||||
|
|
||||||
The problem was introduced in glibc 2.23, in commit
|
|
||||||
b9eb92ab05204df772eb4929eccd018637c9f3e9
|
|
||||||
("Add Prefer_MAP_32BIT_EXEC to map executable pages with MAP_32BIT").
|
|
||||||
---
|
|
||||||
NEWS | 6 +++++-
|
|
||||||
sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h | 3 ++-
|
|
||||||
2 files changed, 7 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
Index: glibc-2.30/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
|
|
||||||
===================================================================
|
|
||||||
--- glibc-2.30.orig/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
|
|
||||||
+++ glibc-2.30/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
|
|
||||||
@@ -31,7 +31,8 @@
|
|
||||||
environment variable, LD_PREFER_MAP_32BIT_EXEC. */
|
|
||||||
#define EXTRA_LD_ENVVARS \
|
|
||||||
case 21: \
|
|
||||||
- if (memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0) \
|
|
||||||
+ if (!__libc_enable_secure \
|
|
||||||
+ && memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0) \
|
|
||||||
GLRO(dl_x86_cpu_features).feature[index_arch_Prefer_MAP_32BIT_EXEC] \
|
|
||||||
|= bit_arch_Prefer_MAP_32BIT_EXEC; \
|
|
||||||
break;
|
|
@ -1,25 +0,0 @@
|
|||||||
2019-09-18 Joseph Myers <joseph@codesourcery.com>
|
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/riscv/vfork.S: Do not include
|
|
||||||
<linux/sched.h>.
|
|
||||||
(CLONE_VM): New macro.
|
|
||||||
(CLONE_VFORK): Likewise.
|
|
||||||
|
|
||||||
Index: glibc-2.30/sysdeps/unix/sysv/linux/riscv/vfork.S
|
|
||||||
===================================================================
|
|
||||||
--- glibc-2.30.orig/sysdeps/unix/sysv/linux/riscv/vfork.S
|
|
||||||
+++ glibc-2.30/sysdeps/unix/sysv/linux/riscv/vfork.S
|
|
||||||
@@ -21,9 +21,12 @@
|
|
||||||
#include <sys/asm.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#define __ASSEMBLY__
|
|
||||||
-#include <linux/sched.h>
|
|
||||||
#include <asm/signal.h>
|
|
||||||
|
|
||||||
+#define CLONE_VM 0x00000100 /* Set if VM shared between processes. */
|
|
||||||
+#define CLONE_VFORK 0x00004000 /* Set if the parent wants the child to
|
|
||||||
+ wake it up on mm_release. */
|
|
||||||
+
|
|
||||||
.text
|
|
||||||
LEAF (__libc_vfork)
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user