From 5b2fc5746c352eb2b27bfc9fb224580d9852d0fa Mon Sep 17 00:00:00 2001
From: Sakib Sajal <sakib.sajal@windriver.com>
Date: Fri, 17 Jul 2020 17:27:21 +0000
Subject: [PATCH] hwclock: make glibc 2.31 compatible

NEWS for glibc version 2.31
===========================

Deprecated and removed features, and other changes affecting compatibility:

* The settimeofday function can still be used to set a system-wide
  time zone when the operating system supports it.  This is because
  the Linux kernel reused the API, on some architectures, to describe
  a system-wide time-zone-like offset between the software clock
  maintained by the kernel, and the "RTC" clock that keeps time when
  the system is shut down.

  However, to reduce the odds of this offset being set by accident,
  settimeofday can no longer be used to set the time and the offset
  simultaneously.  If both of its two arguments are non-null, the call
  will fail (setting errno to EINVAL).

  Callers attempting to set this offset should also be prepared for
  the call to fail and set errno to ENOSYS; this already happens on
  the Hurd and on some Linux architectures.  The Linux kernel
  maintainers are discussing a more principled replacement for the
  reused API.  After a replacement becomes available, we will change
  settimeofday to fail with ENOSYS on all platforms when its 'tzp'
  argument is not a null pointer.

  settimeofday itself is obsolescent according to POSIX.  Programs
  that set the system time should use clock_settime and/or the adjtime
  family of functions instead.  We may cease to make settimeofday
  available to newly linked binaries after there is a replacement for
  Linux's time-zone-like offset API.

hwclock had two calls to settimeofday, in functions to_sys_clock and
set_system_clock_timezone, where both the arguments to settimeofday
were valid (non-null).
Therefore, split the call, once for timezone and once for timeval.

Fixes #12756

Upstream-Status: Pending

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
 util-linux/hwclock.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c
index dc97d8f..cf346e8 100644
--- a/util-linux/hwclock.c
+++ b/util-linux/hwclock.c
@@ -131,8 +131,10 @@ static void to_sys_clock(const char **pp_rtcname, int utc)
 
 	tv.tv_sec = read_rtc(pp_rtcname, NULL, utc);
 	tv.tv_usec = 0;
-	if (settimeofday(&tv, &tz))
-		bb_simple_perror_msg_and_die("settimeofday");
+	if (settimeofday(NULL, &tz))
+		bb_simple_perror_msg_and_die("settimeofday: timezone");
+	if (settimeofday(&tv, NULL))
+		bb_simple_perror_msg_and_die("settimeofday: timeval");
 }
 
 static void from_sys_clock(const char **pp_rtcname, int utc)
@@ -283,8 +285,10 @@ static void set_system_clock_timezone(int utc)
 	gettimeofday(&tv, NULL);
 	if (!utc)
 		tv.tv_sec += tz.tz_minuteswest * 60;
-	if (settimeofday(&tv, &tz))
-		bb_simple_perror_msg_and_die("settimeofday");
+	if (settimeofday(NULL, &tz))
+		bb_simple_perror_msg_and_die("settimeofday: timezone");
+	if (settimeofday(&tv, NULL))
+		bb_simple_perror_msg_and_die("settimeofday: timeval");
 }
 
 //usage:#define hwclock_trivial_usage
-- 
2.24.1

