diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-01-24 08:55:53 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-01-28 17:46:44 -0300 |
commit | 8fba672472ae0055387e9315fc2eddfa6775ca79 (patch) | |
tree | 193cf8c7b6bd84aea38cf405a03990e0a6383923 /sysdeps/unix/sysv/linux/Makefile | |
parent | 38bc0f4e78934aab455b31af05cefcbf3c22bece (diff) | |
download | glibc-8fba672472ae0055387e9315fc2eddfa6775ca79.tar.gz glibc-8fba672472ae0055387e9315fc2eddfa6775ca79.tar.xz glibc-8fba672472ae0055387e9315fc2eddfa6775ca79.zip |
linux: Fix ancillary 64-bit time timestamp conversion (BZ #28349, BZ#28350)
The __convert_scm_timestamps only updates the control message last pointer for SOL_SOCKET type, so if the message control buffer contains multiple ancillary message types the converted timestamp one might overwrite a valid message. The test checks if the extra ancillary space is correctly handled by recvmsg/recvmmsg, where if there is no extra space for the 64-bit time_t converted message the control buffer should be marked with MSG_TRUNC. It also check if recvmsg/recvmmsg handle correctly multiple ancillary data. Checked on x86_64-linux and on i686-linux-gnu on both 5.11 and 4.15 kernel. Co-authored-by: Fabian Vogt <fvogt@suse.de> Reviewed-by: Florian Weimer <fweimer@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/Makefile')
-rw-r--r-- | sysdeps/unix/sysv/linux/Makefile | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 7ca9350c99..4c80ff809c 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -277,6 +277,9 @@ sysdep_routines += cmsg_nxthdr CFLAGS-recvmmsg.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-sendmmsg.c = -fexceptions -fasynchronous-unwind-tables +tests += tst-socket-timestamp +tests-time64 += tst-socket-timestamp-time64 + tests-special += $(objpfx)tst-socket-consts.out $(objpfx)tst-socket-consts.out: ../sysdeps/unix/sysv/linux/tst-socket-consts.py PYTHONPATH=../scripts \ |