glibc/sysdeps/unix
Stafford Horne 1d550265a7 timex: Use 64-bit fields on 32-bit TIMESIZE=64 systems (BZ #28469)
This was found when testing the OpenRISC port I am working on.  These
two tests fail with SIGSEGV:

  FAIL: misc/tst-ntp_gettime
  FAIL: misc/tst-ntp_gettimex

This was found to be due to the kernel overwriting the stack space
allocated by the timex structure.  The reason for the overwrite being
that the kernel timex has 64-bit fields and user space code only
allocates enough stack space for timex with 32-bit fields.

On 32-bit systems with TIMESIZE=64 __USE_TIME_BITS64 is not defined.
This causes the timex structure to use 32-bit fields with type
__syscall_slong_t.

This patch adjusts the ifdef condition to allow 32-bit systems with
TIMESIZE=64 to use the 64-bit long long timex definition.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2021-10-18 17:17:20 -03:00
..
alpha Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
arm
bsd Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
i386
inet
mips Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
powerpc
sh
sysv/linux timex: Use 64-bit fields on 32-bit TIMESIZE=64 systems (BZ #28469) 2021-10-18 17:17:20 -03:00
x86_64
confstr.h
get_child_max.c
getlogin_r.c
getlogin.c
getpagesize.c
grantpt.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
ifreq.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
Implies
make-syscalls.sh
Makefile
s-proto-cancel.S
s-proto.S
setxid.h
sockatmark.c
syscall-template.S
syscall.S
syscalls.list misc: Add time64 alias for ioctl 2021-07-21 11:58:09 +02:00
sysdep.h