diff options
author | Khem Raj <raj.khem@gmail.com> | 2019-02-28 19:21:12 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-03-01 07:15:33 +0000 |
commit | c81a204f41bd018964d7ef096087ace5c78365c3 (patch) | |
tree | 555d1f594e572be301654aec546d45cc0a16c795 /meta | |
parent | e914c03964c540493523b18660f8a4eaeec78e3d (diff) | |
download | openembedded-core-contrib-c81a204f41bd018964d7ef096087ace5c78365c3.tar.gz |
musl: Fix out of bounds data access in dlopen
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-core/musl/musl/out_of_bounds_read.patch | 20 | ||||
-rw-r--r-- | meta/recipes-core/musl/musl_git.bb | 1 |
2 files changed, 21 insertions, 0 deletions
diff --git a/meta/recipes-core/musl/musl/out_of_bounds_read.patch b/meta/recipes-core/musl/musl/out_of_bounds_read.patch new file mode 100644 index 0000000000..a681cc284e --- /dev/null +++ b/meta/recipes-core/musl/musl/out_of_bounds_read.patch @@ -0,0 +1,20 @@ +Fix out of bounds read + +self->dtv hasn't been extended yet + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +diff --git a/ldso/dynlink.c b/ldso/dynlink.c +index e2c3259f..b23ea0df 100644 +--- a/ldso/dynlink.c ++++ b/ldso/dynlink.c +@@ -1374,7 +1376,7 @@ static void install_new_tls(void) + } + /* Install new dtls into the enlarged, uninstalled dtv copies. */ + for (p=head; ; p=p->next) { +- if (!p->tls_id || self->dtv[p->tls_id]) continue; ++ if (p->tls_id <= old_cnt) continue; + unsigned char *mem = p->new_tls; + for (j=0; j<i; j++) { + unsigned char *new = mem; diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb index f1052278c8..6a72b7d3bc 100644 --- a/meta/recipes-core/musl/musl_git.bb +++ b/meta/recipes-core/musl/musl_git.bb @@ -15,6 +15,7 @@ PV = "${BASEVER}+git${SRCPV}" SRC_URI = "git://git.musl-libc.org/musl \ file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \ file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \ + file://out_of_bounds_read.patch \ " S = "${WORKDIR}/git" |