]> git.baikalelectronics.ru Git - kernel.git/commit
rtc: sun6i: Fix time overflow handling
authorAndre Przywara <andre.przywara@arm.com>
Fri, 11 Feb 2022 12:26:28 +0000 (12:26 +0000)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 23 Mar 2022 18:58:37 +0000 (19:58 +0100)
commit0b50e1f771d03255054ba176a7dfd8125d2bb37d
treea0fd28300cf6ca76a16745d1796cc494145b7b26
parente957b31b43a4cfb54328f04161c4409e3bb39f64
rtc: sun6i: Fix time overflow handling

Using "unsigned long" for UNIX timestamps is never a good idea, and
comparing the value of such a variable against U32_MAX does not do
anything useful on 32-bit systems.

Use the proper time64_t type when dealing with timestamps, and avoid
cutting down the time range unnecessarily. This also fixes the flawed
check for the alarm time being too far into the future.

The check for this condition is actually somewhat theoretical, as the
RTC counts till 2033 only anyways, and 2^32 seconds from now is not
before the year 2157 - at which point I hope nobody will be using this
hardware anymore.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20220211122643.1343315-4-andre.przywara@arm.com
drivers/rtc/rtc-sun6i.c