From f27876f9c1056bf41fd940d5c4990b4277e0024f Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 24 Jan 2022 14:08:08 +0100 Subject: [PATCH] uuidd: fix open/lock state issue * warn on open/lock state issue * remove ProtectSystem=strict from systemd service setting, because it makes clock state file read-only openat(AT_FDCWD, "/var/lib/libuuid/clock.txt", O_RDWR|O_CREAT|O_CLOEXEC, 0660) = -1 EROFS (Read-only file system) Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2040366 Signed-off-by: Karel Zak --- misc-utils/uuidd.c | 9 ++++++--- misc-utils/uuidd.service.in | 1 - 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/misc-utils/uuidd.c b/misc-utils/uuidd.c index f8b595ea7b..dfcd1487bf 100644 --- a/misc-utils/uuidd.c +++ b/misc-utils/uuidd.c @@ -494,7 +494,8 @@ static void server_loop(const char *socket_path, const char *pidfile_path, break; case UUIDD_OP_TIME_UUID: num = 1; - __uuid_generate_time(uu, &num); + if (__uuid_generate_time(uu, &num) < 0 && !uuidd_cxt->quiet) + warnx(_("failed to open/lock clock counter")); if (uuidd_cxt->debug) { uuid_unparse(uu, str); fprintf(stderr, _("Generated time UUID: %s\n"), str); @@ -504,7 +505,8 @@ static void server_loop(const char *socket_path, const char *pidfile_path, break; case UUIDD_OP_RANDOM_UUID: num = 1; - __uuid_generate_random(uu, &num); + if (__uuid_generate_time(uu, &num) < 0 && !uuidd_cxt->quiet) + warnx(_("failed to open/lock clock counter")); if (uuidd_cxt->debug) { uuid_unparse(uu, str); fprintf(stderr, _("Generated random UUID: %s\n"), str); @@ -513,7 +515,8 @@ static void server_loop(const char *socket_path, const char *pidfile_path, reply_len = sizeof(uu); break; case UUIDD_OP_BULK_TIME_UUID: - __uuid_generate_time(uu, &num); + if (__uuid_generate_time(uu, &num) < 0 && !uuidd_cxt->quiet) + warnx(_("failed to open/lock clock counter")); if (uuidd_cxt->debug) { uuid_unparse(uu, str); fprintf(stderr, P_("Generated time UUID %s " diff --git a/misc-utils/uuidd.service.in b/misc-utils/uuidd.service.in index b4c9c46350..065b4a1947 100644 --- a/misc-utils/uuidd.service.in +++ b/misc-utils/uuidd.service.in @@ -8,7 +8,6 @@ ExecStart=@usrsbin_execdir@/uuidd --socket-activation Restart=no User=uuidd Group=uuidd -ProtectSystem=strict ProtectHome=yes PrivateDevices=yes PrivateNetwork=yes -- 2.47.2