From 4da9f38de11295539315abdb61c278d51bbe293d Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Wed, 27 Nov 2024 18:37:46 +0100 Subject: [PATCH 1/2] cgroup-util: use RET_NERRNO where appropriate --- src/basic/cgroup-util.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index 8b1e051d56..309dccb45a 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -65,11 +65,7 @@ int cg_cgroupid_open(int cgroupfs_fd, uint64_t id) { cg_file_handle fh = CG_FILE_HANDLE_INIT; CG_FILE_HANDLE_CGROUPID(fh) = id; - int fd = open_by_handle_at(cgroupfs_fd, &fh.file_handle, O_DIRECTORY|O_CLOEXEC); - if (fd < 0) - return -errno; - - return fd; + return RET_NERRNO(open_by_handle_at(cgroupfs_fd, &fh.file_handle, O_DIRECTORY|O_CLOEXEC)); } static int cg_enumerate_items(const char *controller, const char *path, FILE **ret, const char *item) { From 67b9a72c60419ffc2163aad2fd1e7243d64079c4 Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Wed, 27 Nov 2024 18:28:12 +0100 Subject: [PATCH 2/2] nsresourced: log about correct errno in userns_destroy_cgroup() --- src/nsresourced/userns-registry.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/nsresourced/userns-registry.c b/src/nsresourced/userns-registry.c index 8c62e71708..a77ebc589b 100644 --- a/src/nsresourced/userns-registry.c +++ b/src/nsresourced/userns-registry.c @@ -530,11 +530,11 @@ static int userns_destroy_cgroup(uint64_t cgroup_id) { cgroup_fd = cg_cgroupid_open(/* cgroupfsfd= */ -EBADF, cgroup_id); if (cgroup_fd == -ESTALE) { - log_debug_errno(cgroup_fd, "Control group %" PRIu64 " already gone, ignoring: %m", cgroup_id); + log_debug_errno(cgroup_fd, "Control group %" PRIu64 " already gone, ignoring.", cgroup_id); return 0; } if (cgroup_fd < 0) - return log_debug_errno(errno, "Failed to open cgroup %" PRIu64 ", ignoring: %m", cgroup_id); + return log_debug_errno(cgroup_fd, "Failed to open cgroup %" PRIu64 ", ignoring: %m", cgroup_id); _cleanup_free_ char *path = NULL; r = fd_get_path(cgroup_fd, &path); @@ -547,7 +547,7 @@ static int userns_destroy_cgroup(uint64_t cgroup_id) { if (isempty(e)) return log_debug_errno(SYNTHETIC_ERRNO(EPERM), "Got root cgroup path, which can't be right, refusing."); - log_debug("Path of cgroup %" PRIu64 " is: %s", cgroup_id, path); + log_debug("Destroying cgroup %" PRIu64 " (%s)", cgroup_id, path); _cleanup_free_ char *fname = NULL; r = path_extract_filename(path, &fname);