summaryrefslogtreecommitdiffstats
path: root/src/shared/cgroup-show.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cgroup-show.c')
-rw-r--r--src/shared/cgroup-show.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/shared/cgroup-show.c b/src/shared/cgroup-show.c
index f2c3406995..d2d0339910 100644
--- a/src/shared/cgroup-show.c
+++ b/src/shared/cgroup-show.c
@@ -134,21 +134,23 @@ static int is_delegated(int cgfd, const char *path) {
assert(cgfd >= 0 || path);
- r = getxattr_malloc(cgfd < 0 ? path : FORMAT_PROC_FD_PATH(cgfd), "trusted.delegate", &b);
- if (r < 0 && ERRNO_IS_XATTR_ABSENT(r)) {
+ const char *t = cgfd >= 0 ? FORMAT_PROC_FD_PATH(cgfd) : path;
+
+ r = getxattr_malloc(t, "trusted.delegate", &b);
+ if (ERRNO_IS_NEG_XATTR_ABSENT(r)) {
/* If the trusted xattr isn't set (preferred), then check the untrusted one. Under the
* assumption that whoever is trusted enough to own the cgroup, is also trusted enough to
* decide if it is delegated or not this should be safe. */
- r = getxattr_malloc(cgfd < 0 ? path : FORMAT_PROC_FD_PATH(cgfd), "user.delegate", &b);
- if (r < 0 && ERRNO_IS_XATTR_ABSENT(r))
+ r = getxattr_malloc(t, "user.delegate", &b);
+ if (ERRNO_IS_NEG_XATTR_ABSENT(r))
return false;
}
if (r < 0)
- return log_debug_errno(r, "Failed to read delegate xattr, ignoring: %m");
+ return log_debug_errno(r, "Failed to read delegate xattr from %s, ignoring: %m", t);
r = parse_boolean(b);
if (r < 0)
- return log_debug_errno(r, "Failed to parse delegate xattr boolean value, ignoring: %m");
+ return log_debug_errno(r, "Failed to parse delegate xattr from %s, ignoring: %m", t);
return r;
}