glibc/sysdeps
Adhemerval Zanella 948ce73b31 Linux: Only generate 64 bit timestamps for 64 bit time_t recvmsg/recvmmsg
The timestamps created by __convert_scm_timestamps only make sense for
64 bit time_t programs, 32 bit time_t programs will ignore 64 bit time_t
timestamps since SO_TIMESTAMP will be defined to old values (either by
glibc or kernel headers).

Worse, if the buffer is not suffice MSG_CTRUNC is set to indicate it
(which breaks some programs [1]).

This patch makes only 64 bit time_t recvmsg and recvmmsg to call
__convert_scm_timestamps.  Also, the assumption to called it is changed
from __ASSUME_TIME64_SYSCALLS to __TIMESIZE != 64 since the setsockopt
might be called by libraries built without __TIME_BITS=64.  The
MSG_CTRUNC is only set for the 64 bit symbols, it should happen only
if 64 bit time_t programs run older kernels.

Checked on x86_64-linux-gnu and i686-linux-gnu.

[1] https://github.com/systemd/systemd/pull/20567

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2022-01-28 18:18:27 -03:00
..
aarch64 AArch64: Check for SVE in ifuncs [BZ #28744] 2022-01-06 14:36:28 +00:00
alpha Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
arc Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
arm Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
csky Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
generic elf: Fix 64 time_t support for installed statically binaries 2022-01-17 10:57:09 -03:00
gnu Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
hppa Restore ENTRY_POINT definition on hppa, ia64 (bug 28749) 2022-01-07 14:47:31 +01:00
htl htl: Fix build error in annexc 2022-01-17 23:18:27 +00:00
hurd hurd: Fix pthread_kill on exiting/ted thread 2022-01-15 15:11:54 +01:00
i386 Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ia64 Restore ENTRY_POINT definition on hppa, ia64 (bug 28749) 2022-01-07 14:47:31 +01:00
ieee754 math: Fix float conversion regressions with gcc-12 [BZ #28713] 2022-01-10 14:27:17 +00:00
m68k Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
mach Fix glibc 2.34 ABI omission (missing GLIBC_2.34 in dynamic loader) 2022-01-27 18:52:05 +01:00
microblaze Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
mips mips: Move DT_MIPS into <ldsodefs.h> 2022-01-19 20:11:55 +01:00
nios2 Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
nptl Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
or1k or1k: Build Infrastructure 2022-01-05 06:40:06 +09:00
posix getcwd: Set errno to ERANGE for size == 1 (CVE-2021-3999) 2022-01-24 11:00:17 +05:30
powerpc powerpc64le: Use <gcc-macros.h> in early HWCAP check 2022-01-14 20:17:40 +01:00
pthread Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
riscv Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
s390 s390x: Use <gcc-macros.h> in early HWCAP check 2022-01-14 20:17:58 +01:00
sh Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sparc Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
unix Linux: Only generate 64 bit timestamps for 64 bit time_t recvmsg/recvmmsg 2022-01-28 18:18:27 -03:00
wordsize-32 Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
wordsize-64 Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
x86 x86: Use CHECK_FEATURE_PRESENT to check HLE [BZ #27398] 2022-01-26 21:08:05 -08:00
x86_64 math: Add more inputs to atan2 accuracy tests [BZ #28765] 2022-01-14 06:00:06 -08:00