glibc/sysdeps
Florian Weimer 2eecc8afd0 Terminate process on invalid netlink response from kernel [BZ #12926]
The recvmsg system calls for netlink sockets have been particularly
prone to picking up unrelated data after a file descriptor race
(where the descriptor is closed and reopened concurrently in a
multi-threaded process, as the result of a file descriptor
management issue elsewhere).  This commit adds additional error
checking and aborts the process if a datagram of unexpected length
(without the netlink header) is received, or an error code which
cannot happen due to the way the netlink socket is used.

	[BZ #12926]
	Terminate process on invalid netlink response.
	* sysdeps/unix/sysv/linux/netlinkaccess.h
	(__netlink_assert_response): Declare.
	* sysdeps/unix/sysv/linux/netlink_assert_response.c: New file.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir) == inet]
	(sysdep_routines): Add netlink_assert_response.
	* sysdeps/unix/sysv/linux/check_native.c (__check_native): Call
	__netlink_assert_response.
	* sysdeps/unix/sysv/linux/check_pf.c (make_request): Likewise.
	* sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_request): Likewise.
	* sysdeps/unix/sysv/linux/Versions (GLIBC_PRIVATE): Add
	__netlink_assert_response.
2015-11-09 12:48:41 +01:00
..
aarch64 Regenerate aarch64 libm-test-ulps 2015-09-24 14:22:31 +01:00
alpha Move bits/atomic.h to atomic-machine.h (bug 14912). 2015-09-11 20:00:19 +00:00
arm Simplify the abilist format 2015-11-06 13:58:53 +01:00
generic Simplify the abilist format 2015-11-06 13:58:53 +01:00
gnu
hppa
i386 Fix i386/x86_64 log* (1) zero sign for -ffinite-math-only (bug 19213). 2015-11-05 21:56:31 +00:00
ia64 Make drem an alias of remainder (bug 16171). 2015-10-29 22:29:21 +00:00
ieee754 Fix dbl-64 remainder sign of zero result (bug 19201). 2015-11-03 00:11:49 +00:00
init_array
m68k Make nextafter, nexttoward set errno (bug 6799). 2015-11-02 18:54:19 +00:00
mach Convert 24 more function definitions to prototype style (array parameters). 2015-10-20 11:51:03 +00:00
microblaze Use soft-fp fma for MicroBlaze (bug 13304). 2015-09-25 17:29:19 +00:00
mips Remove MIPS16 atomics using __sync_* (bug 17404). 2015-10-27 23:47:56 +00:00
nacl Simplify the abilist format 2015-11-06 13:58:53 +01:00
nios2
nptl Remove sysdeps/nptl/configure.ac. 2015-10-27 21:46:03 +00:00
posix Convert 69 more function definitions to prototype style (line wrap cases). 2015-10-19 21:23:47 +00:00
powerpc powerpc: Provide __tls_get_addr () in static libc 2015-10-28 11:42:23 -02:00
pthread Convert 113 more function definitions to prototype style (files with assertions). 2015-10-20 11:54:09 +00:00
s390 Convert 231 sysdeps function definitions to prototype style. 2015-10-19 12:04:33 +00:00
sh Convert 231 sysdeps function definitions to prototype style. 2015-10-19 12:04:33 +00:00
sparc Convert 69 more function definitions to prototype style (line wrap cases). 2015-10-19 21:23:47 +00:00
tile tile: regenerate libm-test-ulps 2015-10-22 12:00:31 -04:00
unix Terminate process on invalid netlink response from kernel [BZ #12926] 2015-11-09 12:48:41 +01:00
wordsize-32
wordsize-64 Add LFS support for fts functions (bug 11460) 2015-11-06 11:24:16 +01:00
x86 Handle more state in i386/x86_64 fesetenv (bug 16068). 2015-10-28 22:58:29 +00:00
x86_64 Fix i386/x86_64 log* (1) zero sign for -ffinite-math-only (bug 19213). 2015-11-05 21:56:31 +00:00