glibc/startcontext-cantunwind.patch
Dominique Leuenberger 71b6875764 Accepting request 417981 from Base:System
- Update to glibc 2.24
  * The minimum Linux kernel version that this version of the GNU C Library
    can be used with is 3.2
  * The pap_AN locale has been deleted
  * The readdir_r and readdir64_r functions have been deprecated
  * The type `union wait' has been removed
  * A new NSS action is added to facilitate large distributed system
    administration
  * The deprecated __malloc_initialize_hook variable has been removed from
    the API
  * The long unused localedef --old-style option has been removed
  * nextupl, nextup, nextupf, nextdownl, nextdown and nextdownf are added
    to libm
  * An unnecessary stack copy in _nss_dns_getnetbyname_r was removed
    (CVE-2016-3075)
  * Previously, getaddrinfo copied large amounts of address data to the
    stack, even after the fix for CVE-2013-4458 has been applied,
    potentially resulting in a stack overflow.  getaddrinfo now uses a
    heap allocation instead (CVE-2016-3706)
  * The glob function suffered from a stack-based buffer overflow when it
    was called with the GLOB_ALTDIRFUNC flag and encountered a long file
    name (CVE-2016-1234)
  * The Sun RPC UDP client could exhaust all available stack space when
    flooded with crafted ICMP and UDP messages (CVE-2016-4429)
  * The IPv6 name server management code in libresolv could result in a
    memory leak for each thread which is created, performs a failing
    naming lookup, and exits (CVE-2016-5417)
- startcontext-cantunwind.patch: mark __startcontext as .cantunwind
  (bsc#974800, BZ #20435)
- Removed patches:

OBS-URL: https://build.opensuse.org/request/show/417981
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=206
2016-09-09 08:12:50 +00:00

43 lines
1.2 KiB
Diff

From 1061d6fe364ddac7458a872839ea9efe8f7600f0 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Mon, 8 Aug 2016 09:29:18 +0200
Subject: [PATCH] arm: mark __startcontext as .cantunwind
__startcontext marks the bottom of the call stack of the contexts created
by makecontext.
[BZ #20435]
* sysdeps/unix/sysv/linux/arm/setcontext.S (__startcontext): Mark
as .cantunwind.
---
sysdeps/unix/sysv/linux/arm/setcontext.S | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/sysdeps/unix/sysv/linux/arm/setcontext.S b/sysdeps/unix/sysv/linux/arm/setcontext.S
index 603e508..d1f168f 100644
--- a/sysdeps/unix/sysv/linux/arm/setcontext.S
+++ b/sysdeps/unix/sysv/linux/arm/setcontext.S
@@ -86,12 +86,19 @@ weak_alias(__setcontext, setcontext)
/* Called when a makecontext() context returns. Start the
context in R4 or fall through to exit(). */
+ /* Unwind descriptors are looked up based on PC - 2, so we have to
+ make sure to mark the instruction preceding the __startcontext
+ label as .cantunwind. */
+ .fnstart
+ .cantunwind
+ nop
ENTRY(__startcontext)
movs r0, r4
bne PLTJMP(__setcontext)
@ New context was 0 - exit
b PLTJMP(HIDDEN_JUMPTARGET(exit))
+ .fnend
END(__startcontext)
#ifdef PIC
--
2.9.2