Re: [PATCH] rtc: Add an option to invalidate dates in 2038

From: Austin S. Hemmelgarn
Date: Mon Feb 22 2016 - 11:42:36 EST


On 2016-02-22 11:18, Arnd Bergmann wrote:
On Monday 22 February 2016 16:56:53 Alexandre Belloni wrote:
One other workaround is to asked distributions
using systemd to stop using HCTOSYS so userspace would be responsible to
set the system time and in that case we won't have the 32/64 discrepancy.

I'm missing a bit of background here. This seems like a fairly useful
piece of infrastructure for the majority of the use cases (working RTC)

How would the time get set when this is disabled? Is systemd able
to read the rtc and write it back to the kernel? That could in fact
be a nicer workaround for the problem, if it just does this before
setting up the timerfd.
Traditional init systems on Linux have the option of using hwclock from util-linux to set the system time. This is what Gentoo does by default, and I think Arch does it too, and I'm relatively certain that Debian and Ubuntu used to do it before they switched to systemd (I have no idea what they do now). Based on the manpage for hwclock, it looks like systemd mandates that HCTOSYS is enabled in the kernel configuration, and then just calls hwclock to set the system timezone and correct for UTC.