Linux kernel version 5.6 fixes the year 2038 bug
In the Linux update, coming at the end of March, the year 2038 bug should be fixed. Several other added features make it, for some, an important version in the history of the OS.
On January 17, 2038, at 3 hours 14 minutes and 7 seconds UTC, terminals running 32-bit Unix operating systems will display the date December 13, 1901. Why? Like the Y2K bug, Unix and Linux systems will reach a point where the value of time – stored as a 32-bit signed integer – will reach its maximum. In the next Linux kernel update (5.6), a developer, Arnd Bergmann, worked to fix this issue.
“Linux-5.6, or my backport of the 5.4 patches, should be the first version that can be used as the basis for a 32-bit system designed to work beyond the year 2038,” says Bergmann on the official website of the kernel announcements. He warns, however, that:
– All user space must be compiled with a 64-bit time_t, which will be supported in future versions musl-1.2 and glibc-2.32, as well as kernel headers installed from Linux-5.6 or higher.
– Applications that directly use the system call interfaces should be ported to use the time64 system calls added in Linux-5.1 in place of the existing system calls.
– Applications that use a private copy of the uapi kernel header files or their contents may need to be updated to Linux-5.6.
– A few remaining interfaces cannot be modified to pass a 64-bit time_t in a compatible manner, so they must be configured to use the CLOCK_MONOTONIC times.
– All Epoch issues found on 64-bit machines also apply to 32-bit machines. This particularly affects filesystems with on-disk timestamps using 32-bit signed seconds: ext4 with small inodes like ext3, ext2, xfs (to be fixed soon) and ufs.
A stable version delivered at the end of March
In addition to this update which will remain in 2038, the first release candidate (RC1) of Linux 5.6 has revealed a number of features. The community considers this to be the most interesting version since 5.0. The free and open source WireGuard VPN application and protocol is now supported by the latest version of the kernel. Another supported standard is USB4 which builds on the Thunderbolt 3 specification to offer transfer speeds of up to 40 Gbps. An RC2 was released this weekend with updates to the Linux documentation and performance monitoring subsystem. According to forecasts, a stable version of the latest kernel should be delivered at the end of March, beginning of April.