Resolves: 1310168
Fix socket system call selection on s390x.
This commit is contained in:
parent
2fc493327f
commit
bde5e87fe1
46
glibc-rh1310168.patch
Normal file
46
glibc-rh1310168.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
Backport part of this upstream commit:
|
||||||
|
|
||||||
|
commit 016495b818cb61df7d0d10e6db54074271b3e3a5
|
||||||
|
Author: Stefan Liebler <stli@linux.vnet.ibm.com>
|
||||||
|
Date: Mon Nov 9 16:14:49 2015 +0100
|
||||||
|
|
||||||
|
S390: Call direct system calls for socket operations.
|
||||||
|
|
||||||
|
this patch calls direct system calls for socket operations in the same way as power does. The system calls were introduced in kernel commit https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=977108f89c989b1eeb5c8d938e1e71913391eb5f.
|
||||||
|
There are no direct recv, send, accept syscalls available on s390. Thus
|
||||||
|
recvfrom, sendto, accept4 are called instead of the socketcall by defining __ASSUME_*_FOR_*_SYSCALL macros. See recv.c, send.c, accept.c in sysdeps/unix/sysv/linux/ folder.
|
||||||
|
|
||||||
|
The socketcalls in syscalls.list for s390-64 are removed. They were never used on s390x.
|
||||||
|
|
||||||
|
|
||||||
|
The removal is required due to the kernel change because otherwise,
|
||||||
|
these system calls will be used unconditionally with new kernel
|
||||||
|
headers.
|
||||||
|
|
||||||
|
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list b/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
|
||||||
|
index 5b8c102..9f03d26 100644
|
||||||
|
--- a/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
|
||||||
|
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
|
||||||
|
@@ -12,22 +12,3 @@ shmget - shmget i:iii __shmget shmget
|
||||||
|
semop - semop i:ipi __semop semop
|
||||||
|
semget - semget i:iii __semget semget
|
||||||
|
semctl - semctl i:iiii __semctl semctl
|
||||||
|
-
|
||||||
|
-# proper socket implementations:
|
||||||
|
-accept - accept Ci:iBN __libc_accept __accept accept
|
||||||
|
-bind - bind i:ipi __bind bind
|
||||||
|
-connect - connect Ci:ipi __libc_connect __connect connect
|
||||||
|
-getpeername - getpeername i:ipp __getpeername getpeername
|
||||||
|
-getsockname - getsockname i:ipp __getsockname getsockname
|
||||||
|
-getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
|
||||||
|
-listen - listen i:ii __listen listen
|
||||||
|
-recv - recv Ci:ibni __libc_recv __recv recv
|
||||||
|
-recvfrom - recvfrom Ci:ibniBN __libc_recvfrom __recvfrom recvfrom
|
||||||
|
-recvmsg - recvmsg Ci:ipi __libc_recvmsg __recvmsg recvmsg
|
||||||
|
-send - send Ci:ibni __libc_send __send send
|
||||||
|
-sendmsg - sendmsg Ci:ipi __libc_sendmsg __sendmsg sendmsg
|
||||||
|
-sendto - sendto Ci:ibnibn __libc_sendto __sendto sendto
|
||||||
|
-setsockopt - setsockopt i:iiibn __setsockopt setsockopt
|
||||||
|
-shutdown - shutdown i:ii __shutdown shutdown
|
||||||
|
-socket - socket i:iii __socket socket
|
||||||
|
-socketpair - socketpair i:iiif __socketpair socketpair
|
@ -1,6 +1,6 @@
|
|||||||
%define glibcsrcdir glibc-2.21
|
%define glibcsrcdir glibc-2.21
|
||||||
%define glibcversion 2.21
|
%define glibcversion 2.21
|
||||||
%define glibcrelease 11%{?dist}
|
%define glibcrelease 12%{?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:
|
||||||
#
|
#
|
||||||
@ -270,6 +270,9 @@ Patch2035: %{name}-rh1276112.patch
|
|||||||
# Upsteam BZ 18665
|
# Upsteam BZ 18665
|
||||||
Patch2107: glibc-CVE-2015-7547.patch
|
Patch2107: glibc-CVE-2015-7547.patch
|
||||||
|
|
||||||
|
# Upstream BZ 19682
|
||||||
|
Patch2108: glibc-rh1310168.patch
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# End of glibc patches.
|
# End of glibc patches.
|
||||||
##############################################################################
|
##############################################################################
|
||||||
@ -601,6 +604,7 @@ package or when debugging this package.
|
|||||||
%patch2034 -p1
|
%patch2034 -p1
|
||||||
%patch2035 -p1
|
%patch2035 -p1
|
||||||
%patch2107 -p1
|
%patch2107 -p1
|
||||||
|
%patch2108 -p1
|
||||||
%patch0050 -p1
|
%patch0050 -p1
|
||||||
%patch0052 -p1
|
%patch0052 -p1
|
||||||
%patch0053 -p1
|
%patch0053 -p1
|
||||||
@ -1786,6 +1790,9 @@ rm -f *.filelist*
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 19 2016 Florian Weimer <fweimer@redhat.com> - 2.21-12
|
||||||
|
- Fix socket system call selection on s390x (#1310168).
|
||||||
|
|
||||||
* Tue Feb 16 2016 Florian Weimer <fweimer@redhat.com> - 2.21-11
|
* Tue Feb 16 2016 Florian Weimer <fweimer@redhat.com> - 2.21-11
|
||||||
- CVE-2015-7547: Stack-based buffer overflow in getaddrinfo (#1308943).
|
- CVE-2015-7547: Stack-based buffer overflow in getaddrinfo (#1308943).
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user