[glibc] Avoid inlining of cleanup function for kaio_suspend

Siddhesh Poyarekar siddhesh at fedoraproject.org
Fri Aug 23 06:48:34 UTC 2013


commit e3b637cf01e31d41ca57cf10629abf0010d17ae0
Author: Siddhesh Poyarekar <siddhesh at redhat.com>
Date:   Thu Aug 22 11:07:15 2013 +0530

    Avoid inlining of cleanup function for kaio_suspend
    
    Inlining of the function seems to be responsible for the unwind
    function not adjusting the GOT pointer before calling the cleanup
    function.

 glibc-rh731833-rtkaio-2.patch |   11 +++++++++++
 glibc.spec                    |    5 ++++-
 2 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/glibc-rh731833-rtkaio-2.patch b/glibc-rh731833-rtkaio-2.patch
new file mode 100644
index 0000000..e3f4eca
--- /dev/null
+++ b/glibc-rh731833-rtkaio-2.patch
@@ -0,0 +1,11 @@
+diff -pruN glibc-2.17-c758a686/rtkaio/sysdeps/unix/sysv/linux/kaio_suspend.c glibc-2.17-c758a686.new/rtkaio/sysdeps/unix/sysv/linux/kaio_suspend.c
+--- glibc-2.17-c758a686/rtkaio/sysdeps/unix/sysv/linux/kaio_suspend.c	2011-10-19 16:34:41.000000000 +0530
++++ glibc-2.17-c758a686.new/rtkaio/sysdeps/unix/sysv/linux/kaio_suspend.c	2013-08-16 10:22:30.457609558 +0530
+@@ -59,6 +59,7 @@ struct clparam
+ 
+ 
+ static void
++__attribute__ ((noinline))
+ cleanup (void *arg)
+ {
+ #ifdef DONT_NEED_AIO_MISC_COND
diff --git a/glibc.spec b/glibc.spec
index 2873649..8615ffa 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -1,6 +1,6 @@
 %define glibcsrcdir glibc-2.18
 %define glibcversion 2.18
-%define glibcrelease 2%{?dist}
+%define glibcrelease 3%{?dist}
 # Pre-release tarballs are pulled in from git using a command that is
 # effectively:
 #
@@ -177,6 +177,7 @@ Patch0039: %{name}-c_stubs.patch
 
 # Remove non-ELF support in rtkaio
 Patch0040: %{name}-rh731833-rtkaio.patch
+Patch0041: %{name}-rh731833-rtkaio-2.patch
 
 #
 # Patches from upstream
@@ -530,6 +531,7 @@ package or when debugging this package.
 %patch2028 -p1
 %patch1001 -p1
 %patch0040 -p1
+%patch0041 -p1
 
 ##############################################################################
 # %%prep - Additional prep required...
@@ -1617,6 +1619,7 @@ rm -f *.filelist*
 %changelog
 * Tue Aug 20 2013 Siddhesh Poyarekar <siddhesh at redhat.com> - 2.18-3
 - Remove non-ELF support in rtkaio.
+- Avoid inlining of cleanup function for kaio_suspend.
 
 * Mon Aug 19 2013 Siddhesh Poyarekar <siddhesh at redhat.com> - 2.18-2
 - Fix buffer overflow in readdir_r (#995841, CVE-2013-4237).


More information about the scm-commits mailing list