linux/arch
Arnd Bergmann e2bb80d55d y2038: elfcore: Use __kernel_old_timeval for process times
We store elapsed time for a crashed process in struct elf_prstatus using
'timeval' structures. Once glibc starts using 64-bit time_t, this becomes
incompatible with the kernel's idea of timeval since the structure layout
no longer matches on 32-bit architectures.

This changes the definition of the elf_prstatus structure to use
__kernel_old_timeval instead, which is hardcoded to the currently used
binary layout. There is no risk of overflow in y2038 though, because
the time values are all relative times, and can store up to 68 years
of process elapsed time.

There is a risk of applications breaking at build time when they
use the new kernel headers and expect the type to be exactly 'timeval'
rather than a structure that has the same fields as before. Those
applications have to be modified to deal with 64-bit time_t anyway.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-11-15 14:38:29 +01:00
..
alpha y2038: rusage: use __kernel_old_timeval 2019-11-15 14:38:29 +01:00
arc ARC: perf: Accommodate big-endian CPU 2019-10-22 09:59:43 -07:00
arm ARM: SoC fixes 2019-10-25 16:00:47 -04:00
arm64 arm64 fixes for -rc6 2019-11-01 10:03:46 -07:00
c6x mm: consolidate pgtable_cache_init() and pgd_cache_init() 2019-09-24 15:54:09 -07:00
csky csky-for-linus-5.4-rc1: arch/csky patches for 5.4-rc1 2019-09-30 10:16:17 -07:00
h8300 mm: consolidate pgtable_cache_init() and pgd_cache_init() 2019-09-24 15:54:09 -07:00
hexagon mm: treewide: clarify pgtable_page_{ctor,dtor}() naming 2019-09-26 10:10:44 -07:00
ia64 y2038: vdso: change timespec to __kernel_old_timespec 2019-11-15 14:38:28 +01:00
m68k mm: treewide: clarify pgtable_page_{ctor,dtor}() naming 2019-09-26 10:10:44 -07:00
microblaze Merge branch 'akpm' (patches from Andrew) 2019-09-24 16:10:23 -07:00
mips y2038: elfcore: Use __kernel_old_timeval for process times 2019-11-15 14:38:29 +01:00
nds32 y2038: vdso: nds32: open-code timespec_add_ns() 2019-11-15 14:38:28 +01:00
nios2 nios2 update for v5.4-rc1 2019-09-27 13:02:19 -07:00
openrisc mm: treewide: clarify pgtable_page_{ctor,dtor}() naming 2019-09-26 10:10:44 -07:00
parisc y2038: ipc: remove __kernel_time_t reference from headers 2019-11-15 14:38:28 +01:00
powerpc y2038: syscalls: change remaining timeval to __kernel_old_timeval 2019-11-15 14:38:29 +01:00
riscv RISC-V: Add PCIe I/O BAR memory mapping 2019-10-28 10:43:32 -07:00
s390 s390/idle: fix cpu idle time calculation 2019-10-31 17:26:48 +01:00
sh mm: treewide: clarify pgtable_page_{ctor,dtor}() naming 2019-09-26 10:10:44 -07:00
sparc y2038: stat: avoid 'time_t' in 'struct stat' 2019-11-15 14:38:28 +01:00
um um-ubd: Entrust re-queue to the upper layers 2019-10-29 10:07:41 -06:00
unicore32 mm: treewide: clarify pgtable_page_{ctor,dtor}() naming 2019-09-26 10:10:44 -07:00
x86 y2038: ipc: remove __kernel_time_t reference from headers 2019-11-15 14:38:28 +01:00
xtensa xtensa: fix change_bit in exclusive access option 2019-10-16 00:14:33 -07:00
.gitignore
Kconfig y2038: remove CONFIG_64BIT_TIME 2019-11-15 14:38:27 +01:00