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.
This commit is contained in:
Siddhesh Poyarekar 2013-08-22 11:07:15 +05:30
parent 615c1c4694
commit e3b637cf01
2 changed files with 15 additions and 1 deletions

View File

@ -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

View File

@ -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@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@redhat.com> - 2.18-2
- Fix buffer overflow in readdir_r (#995841, CVE-2013-4237).