From fb6f98ae6335d587b3dfb0e45384d17c398429fd Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 10 Apr 2024 04:51:27 +0900 Subject: [PATCH 1/2] network: open persistent directory without O_PATH Addresses https://github.com/systemd/systemd/pull/31811#discussion_r1557549629. --- src/network/networkd-manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index 77dfc65a8a..8e8b27d78d 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -568,7 +568,7 @@ static int persistent_storage_open(void) { if (r <= 0) return -EBADF; - fd = open("/var/lib/systemd/network/", O_CLOEXEC | O_DIRECTORY | O_PATH); + fd = open("/var/lib/systemd/network/", O_CLOEXEC | O_DIRECTORY); if (fd < 0) return log_debug_errno(errno, "Failed to open /var/lib/systemd/network/, ignoring: %m"); From 4d97f7deebc4416791784d8d65623ec8ca685814 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 10 Apr 2024 04:55:59 +0900 Subject: [PATCH 2/2] network/varlink: fix error cause Follow-up for e1254d0616f812d22753421bd791c4486c0a9128. Addresses https://github.com/systemd/systemd/pull/31811#discussion_r1557552244. --- src/network/networkd-manager-varlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/networkd-manager-varlink.c b/src/network/networkd-manager-varlink.c index 31aebfc389..5eeed95791 100644 --- a/src/network/networkd-manager-varlink.c +++ b/src/network/networkd-manager-varlink.c @@ -207,7 +207,7 @@ static int vl_method_set_persistent_storage(Varlink *vlink, JsonVariant *paramet } if (fstat(fd, &st) < 0) - return log_warning_errno(r, "Failed to stat the passed persistent storage fd: %m"); + return log_warning_errno(errno, "Failed to stat the passed persistent storage fd: %m"); r = stat_verify_directory(&st); if (r < 0)