linux-stable/arch
Arnd Bergmann d5e38d6b84 y2038: rusage: use __kernel_old_timeval
[ Upstream commit bdd565f817 ]

There are two 'struct timeval' fields in 'struct rusage'.

Unfortunately the definition of timeval is now ambiguous when used in
user space with a libc that has a 64-bit time_t, and this also changes
the 'rusage' definition in user space in a way that is incompatible with
the system call interface.

While there is no good solution to avoid all ambiguity here, change
the definition in the kernel headers to be compatible with the kernel
ABI, using __kernel_old_timeval as an unambiguous base type.

In previous discussions, there was also a plan to add a replacement
for rusage based on 64-bit timestamps and nanosecond resolution,
i.e. 'struct __kernel_timespec'. I have patches for that as well,
if anyone thinks we should do that.

Reviewed-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Stable-dep-of: daa694e413 ("getrusage: move thread_group_cputime_adjusted() outside of lock_task_sighand()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-15 10:48:17 -04:00
..
alpha y2038: rusage: use __kernel_old_timeval 2024-03-15 10:48:17 -04:00
arc ARC: fix spare error 2024-01-25 14:33:30 -08:00
arm ARM: ep93xx: Add terminator to gpiod_lookup_table 2024-03-01 13:06:10 +01:00
arm64 arm64: dts: mediatek: mt8173-evb: Fix regulator-fixed node names 2024-01-08 11:27:32 +01:00
c6x
h8300 h8300: Fix build errors from do_exit() to make_task_dead() transition 2023-02-06 07:49:45 +01:00
hexagon hexagon: Fix function name in die() 2023-02-06 07:49:45 +01:00
ia64 treewide: Remove uninitialized_var() usage 2023-08-11 11:45:01 +02:00
m68k m68k: Fix invalid .section syntax 2023-09-23 10:47:57 +02:00
microblaze exit: Add and use make_task_dead. 2023-02-06 07:49:45 +01:00
mips MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler 2024-02-23 08:12:55 +01:00
nds32 exit: Add and use make_task_dead. 2023-02-06 07:49:45 +01:00
nios2 nios2: dts: Fix tse_mac "max-frame-size" property 2023-06-21 15:39:57 +02:00
openrisc openrisc: Properly store r31 to pt_regs on unhandled exceptions 2023-05-17 11:13:19 +02:00
parisc parisc/firmware: Fix F-extend for PDC addresses 2024-02-23 08:12:40 +01:00
powerpc powerpc/lib: Validate size for vector operations 2024-02-23 08:12:44 +01:00
riscv riscv: Bump COMMAND_LINE_SIZE value to 1024 2023-04-05 11:15:36 +02:00
s390 s390: use the correct count for __iowrite64_copy() 2024-03-01 13:06:11 +01:00
sh sh: bios: Revive earlyprintk support 2023-11-20 10:29:19 +01:00
sparc sparc: fix up arch_cpu_finalize_init() build breakage. 2023-08-16 18:12:59 +02:00
um um: allow not setting extra rpaths in the linux binary 2024-03-15 10:48:16 -04:00
unicore32
x86 um: allow not setting extra rpaths in the linux binary 2024-03-15 10:48:16 -04:00
xtensa xtensa: ISS: fix call to split_if_spec 2023-08-11 11:45:23 +02:00
.gitignore
Kconfig init: Provide arch_cpu_finalize_init() 2023-08-08 19:49:17 +02:00