glibc-2.24.90-11
- Add prototype support for detecting invalid IFUNC calls (swbz#20019). - New POSIX thread condition variable implementation (swbz#13165).
This commit is contained in:
parent
4f53fe474e
commit
83e5c415da
6998
glibc-swbz13165.patch
Normal file
6998
glibc-swbz13165.patch
Normal file
File diff suppressed because it is too large
Load Diff
33
glibc-swbz20019.patch
Normal file
33
glibc-swbz20019.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
Bug 20019 - NULL pointer dereference in libc.so.6 IFUNC due to uninitialized GOT
|
||||||
|
|
||||||
|
Prototype patch by H.J. Lu <hjl.tools@gmail.com> to error
|
||||||
|
out when IFUNC being resolved is for another map that hasn't
|
||||||
|
yet been relocated.
|
||||||
|
|
||||||
|
--- a/sysdeps/x86_64/dl-machine.h
|
||||||
|
+++ a/sysdeps/x86_64/dl-machine.h
|
||||||
|
@@ -331,7 +331,23 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
|
||||||
|
0)
|
||||||
|
&& __builtin_expect (sym->st_shndx != SHN_UNDEF, 1)
|
||||||
|
&& __builtin_expect (!skip_ifunc, 1))
|
||||||
|
- value = ((ElfW(Addr) (*) (void)) value) ();
|
||||||
|
+ {
|
||||||
|
+# ifndef RTLD_BOOTSTRAP
|
||||||
|
+ if (sym_map != map
|
||||||
|
+ && sym_map->l_type != lt_executable
|
||||||
|
+ && !sym_map->l_relocated)
|
||||||
|
+ {
|
||||||
|
+ const char *strtab
|
||||||
|
+ = (const char *) D_PTR (map, l_info[DT_STRTAB]);
|
||||||
|
+ _dl_fatal_printf ("\
|
||||||
|
+%s: Relink `%s' with `%s' for IFUNC symbol `%s'\n",
|
||||||
|
+ RTLD_PROGNAME, map->l_name,
|
||||||
|
+ sym_map->l_name,
|
||||||
|
+ strtab + refsym->st_name);
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+ value = ((ElfW(Addr) (*) (void)) value) ();
|
||||||
|
+ }
|
||||||
|
|
||||||
|
switch (r_type)
|
||||||
|
{
|
15
glibc.spec
15
glibc.spec
@ -1,6 +1,6 @@
|
|||||||
%define glibcsrcdir glibc-2.24-256-g5140d03
|
%define glibcsrcdir glibc-2.24-256-g5140d03
|
||||||
%define glibcversion 2.24.90
|
%define glibcversion 2.24.90
|
||||||
%define glibcrelease 10%{?dist}
|
%define glibcrelease 11%{?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:
|
||||||
#
|
#
|
||||||
@ -262,6 +262,13 @@ Patch0059: glibc-c-utf8-locale.patch
|
|||||||
# Build libcrypt twice, with and without NSS.
|
# Build libcrypt twice, with and without NSS.
|
||||||
Patch0060: glibc-rh1324623.patch
|
Patch0060: glibc-rh1324623.patch
|
||||||
|
|
||||||
|
# Bug 20019: Prototype patch to error on resolution of IFUNC
|
||||||
|
# for an uninitialized library.
|
||||||
|
Patch0061: glibc-swbz20019.patch
|
||||||
|
|
||||||
|
# Bug 13165: New condvar implementation.
|
||||||
|
Patch0062: glibc-swbz13165.patch
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
#
|
#
|
||||||
# Patches from upstream
|
# Patches from upstream
|
||||||
@ -881,6 +888,8 @@ microbenchmark tests on the system.
|
|||||||
%patch2038 -p1
|
%patch2038 -p1
|
||||||
%patch2110 -p1
|
%patch2110 -p1
|
||||||
%patch2112 -p1
|
%patch2112 -p1
|
||||||
|
%patch0061 -p1
|
||||||
|
%patch0062 -p1
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# %%prep - Additional prep required...
|
# %%prep - Additional prep required...
|
||||||
@ -2275,6 +2284,10 @@ rm -f *.filelist*
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Oct 17 2016 Carlos O'Donell <carlos@systemhalted.org> - 2.24.90-11
|
||||||
|
- Add prototype support for detecting invalid IFUNC calls (swbz#20019).
|
||||||
|
- New POSIX thread condition variable implementation (swbz#13165).
|
||||||
|
|
||||||
* Fri Oct 07 2016 Florian Weimer <fweimer@redhat.com> - 2.24.90-10
|
* Fri Oct 07 2016 Florian Weimer <fweimer@redhat.com> - 2.24.90-10
|
||||||
- Auto-sync with upstream master,
|
- Auto-sync with upstream master,
|
||||||
commit 5140d036f9c16585448b5908c3a219bd96842161, fixing:
|
commit 5140d036f9c16585448b5908c3a219bd96842161, fixing:
|
||||||
|
Loading…
Reference in New Issue
Block a user