From 5361ad3910c257bc327567be76fde532ed238e42 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Fri, 19 Apr 2024 14:38:17 +0200 Subject: login: Use unsigned 32-bit types for seconds-since-epoch These fields store timestamps when the system was running. No Linux systems existed before 1970, so these values are unused. Switching to unsigned types allows continued use of the existing struct layouts beyond the year 2038. The intent is to give distributions more time to switch to improved interfaces that also avoid locking/data corruption issues. Reviewed-by: Adhemerval Zanella --- NEWS | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'NEWS') diff --git a/NEWS b/NEWS index da4b2223e9..cf6078cf20 100644 --- a/NEWS +++ b/NEWS @@ -28,7 +28,14 @@ Major new features: Deprecated and removed features, and other changes affecting compatibility: - [Add deprecations, removals and changes affecting compatibility here] +* Architectures which use a 32-bit seconds-since-epoch field in struct + lastlog, struct utmp, struct utmpx (such as i386, powerpc64le, rv32, + rv64, x86-64) switched from a signed to an unsigned type for that + field. This allows these fields to store timestamps beyond the year + 2038, until the year 2106. Please note that applications are still + expected to migrate off the interfaces declared in and + (except for login_tty) due to locking and session management + problems. Changes to build and runtime requirements: -- cgit 1.4.1