[02/19] systemd: Fix time_t size assumptions

Message ID 20191229184415.19514-2-raj.khem@gmail.com
State Accepted
Commit 7f6aa3a10a3d31ef9b02b5ca2a1d8fcffdfcd334
Headers show
Series
  • [01/19] util-linux: Use PCRE for hardlink
Related show

Commit Message

Khem Raj Dec. 29, 2019, 6:43 p.m.
Signed-off-by: Khem Raj <raj.khem@gmail.com>

---
 ...ead-of-TIME_T_MAX-for-timerfd_settim.patch | 31 +++++++++++++++++++
 meta/recipes-core/systemd/systemd_243.2.bb    |  1 +
 2 files changed, 32 insertions(+)
 create mode 100644 meta/recipes-core/systemd/systemd/0022-Use-INT_MAX-instead-of-TIME_T_MAX-for-timerfd_settim.patch

-- 
2.24.1

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/recipes-core/systemd/systemd/0022-Use-INT_MAX-instead-of-TIME_T_MAX-for-timerfd_settim.patch b/meta/recipes-core/systemd/systemd/0022-Use-INT_MAX-instead-of-TIME_T_MAX-for-timerfd_settim.patch
new file mode 100644
index 0000000000..76a1c7364d
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0022-Use-INT_MAX-instead-of-TIME_T_MAX-for-timerfd_settim.patch
@@ -0,0 +1,31 @@ 
+From 6bcf562bd1e541c7aa46923d9a14201c7f785261 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 16 Dec 2019 12:49:07 -0800
+Subject: [PATCH] Use INT_MAX instead of TIME_T_MAX for timerfd_settime timeout
+
+kernel prior to 64bit time_t support might not entertain such large
+timeout therefore reduce it to INT_MAX which would set timer expiration
+event after 68 years of uptime, should be good for all practical
+purposes
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/basic/time-util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/basic/time-util.c b/src/basic/time-util.c
+index bfe2c60da1..8cf682b36a 100644
+--- a/src/basic/time-util.c
++++ b/src/basic/time-util.c
+@@ -1486,7 +1486,7 @@ int time_change_fd(void) {
+ 
+         /* We only care for the cancellation event, hence we set the timeout to the latest possible value. */
+         static const struct itimerspec its = {
+-                .it_value.tv_sec = TIME_T_MAX,
++                .it_value.tv_sec = INT_MAX,
+         };
+ 
+         _cleanup_close_ int fd;
+-- 
+2.24.1
+
diff --git a/meta/recipes-core/systemd/systemd_243.2.bb b/meta/recipes-core/systemd/systemd_243.2.bb
index ac7a5f86b3..3f68604a5c 100644
--- a/meta/recipes-core/systemd/systemd_243.2.bb
+++ b/meta/recipes-core/systemd/systemd_243.2.bb
@@ -46,6 +46,7 @@  SRC_URI_MUSL = "\
                file://0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
                file://0020-missing_type.h-add-__compar_d_fn_t-definition.patch \
                file://0021-avoid-redefinition-of-prctl_mm_map-structure.patch \
+               file://0022-Use-INT_MAX-instead-of-TIME_T_MAX-for-timerfd_settim.patch \
                file://0024-test-json.c-define-M_PIl.patch \
                file://0001-do-not-disable-buffer-in-writing-files.patch \
                file://0002-src-login-brightness.c-include-sys-wait.h.patch \