systemd/backport-timesync-fix-wrong-type-for-receiving-timestamp-in-n.patch
xujing 826fd825d6 sync and backport some patches
systemd-journald: Fix journal file descriptors leak problems.
systemd: Activation service must be restarted when it is already started and re-actived by dbus
systemd-core: fix problem of dbus service can not be started
systemd-core: Delay to restart when a service can not be auto-restarted when there is one STOP_JOB for the service
core: fix SIGABRT on empty exec command argv
journalctl: never fail at flushing when the flushed flag is set
timesync: fix wrong type for receiving timestamp in nanoseconds
udev: fix potential memleak
(cherry picked from commit d0907552a565ed01a4f9da4dd27168b3726f9236)
2022-03-30 10:15:27 +08:00

41 lines
1.5 KiB
Diff

From 6f96bdc58746b1698bf8b3430a6c638f8949daec Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Date: Fri, 20 Aug 2021 08:40:11 +0900
Subject: [PATCH] timesync: fix wrong type for receiving timestamp in
nanoseconds
Fixes #20482.
---
src/test/test-sizeof.c | 2 ++
src/timesync/timesyncd-manager.c | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
index 3c9dc180fa..e36bee4e8f 100644
--- a/src/test/test-sizeof.c
+++ b/src/test/test-sizeof.c
@@ -89,5 +89,7 @@ int main(void) {
printf("big_enum2_pos → %zu\n", sizeof(big_enum2_pos));
printf("big_enum2_neg → %zu\n", sizeof(big_enum2_neg));
+ printf("timeval: %zu\n", sizeof(struct timeval));
+ printf("timespec: %zu\n", sizeof(struct timespec));
return 0;
}
diff --git a/src/timesync/timesyncd-manager.c b/src/timesync/timesyncd-manager.c
index 1c284f31e3..3a89d9b1fa 100644
--- a/src/timesync/timesyncd-manager.c
+++ b/src/timesync/timesyncd-manager.c
@@ -416,7 +416,7 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
.iov_base = &ntpmsg,
.iov_len = sizeof(ntpmsg),
};
- CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(struct timeval))) control;
+ CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(struct timespec))) control;
union sockaddr_union server_addr;
struct msghdr msghdr = {
.msg_iov = &iov,
--
2.27.0