if (q < 0) {
log_unit_debug_errno(u, q, "Couldn't move process " PID_FMT " to requested cgroup '%s': %m", pid, p);
- if (MANAGER_IS_USER(u->manager) && IN_SET(q, -EPERM, -EACCES)) {
+ if (MANAGER_IS_USER(u->manager) && ERRNO_IS_PRIVILEGE(q)) {
int z;
/* If we are in a user instance, and we can't move the process ourselves due to
if (keyring == -1) {
if (errno == ENOSYS)
log_unit_debug_errno(u, errno, "Kernel keyring not supported, ignoring.");
- else if (IN_SET(errno, EACCES, EPERM))
+ else if (ERRNO_IS_PRIVILEGE(errno))
log_unit_debug_errno(u, errno, "Kernel keyring access prohibited, ignoring.");
else if (errno == EDQUOT)
log_unit_debug_errno(u, errno, "Out of kernel keyrings to allocate, ignoring.");
/* When we can't make this change due to EPERM, then let's silently skip over it. User namespaces
* prohibit write access to this file, and we shouldn't trip up over that. */
r = set_oom_score_adjust(context->oom_score_adjust);
- if (IN_SET(r, -EPERM, -EACCES))
+ if (ERRNO_IS_PRIVILEGE(r))
log_unit_debug_errno(unit, r, "Failed to adjust OOM setting, assuming containerized execution, ignoring: %m");
else if (r < 0) {
*exit_status = EXIT_OOM_ADJUST;
#include "bus-util.h"
#include "capability-util.h"
#include "cgroup-util.h"
+#include "errno-util.h"
#include "fd-util.h"
#include "fileio.h"
#include "format-util.h"
if (!f) {
if (errno == ENOENT)
return -ESRCH;
- else if (!IN_SET(errno, EPERM, EACCES))
+ else if (!ERRNO_IS_PRIVILEGE(errno))
return -errno;
} else {
if (missing & SD_BUS_CREDS_COMM) {
r = get_process_comm(pid, &c->comm);
if (r < 0) {
- if (!IN_SET(r, -EPERM, -EACCES))
+ if (!ERRNO_IS_PRIVILEGE(r))
return r;
} else
c->mask |= SD_BUS_CREDS_COMM;
c->exe = NULL;
c->mask |= SD_BUS_CREDS_EXE;
} else if (r < 0) {
- if (!IN_SET(r, -EPERM, -EACCES))
+ if (!ERRNO_IS_PRIVILEGE(r))
return r;
} else
c->mask |= SD_BUS_CREDS_EXE;
if (r == -ENOENT)
return -ESRCH;
if (r < 0) {
- if (!IN_SET(r, -EPERM, -EACCES))
+ if (!ERRNO_IS_PRIVILEGE(r))
return r;
} else {
if (c->cmdline_size == 0)
if (r == -ENOENT)
return -ESRCH;
if (r < 0) {
- if (!IN_SET(r, -EPERM, -EACCES))
+ if (!ERRNO_IS_PRIVILEGE(r))
return r;
} else
c->mask |= SD_BUS_CREDS_TID_COMM;
if (!c->cgroup) {
r = cg_pid_get_path(NULL, pid, &c->cgroup);
if (r < 0) {
- if (!IN_SET(r, -EPERM, -EACCES))
+ if (!ERRNO_IS_PRIVILEGE(r))
return r;
}
}
if (keyring == -1) {
if (errno == ENOSYS)
log_debug_errno(errno, "Kernel keyring not supported, ignoring.");
- else if (IN_SET(errno, EACCES, EPERM))
+ else if (ERRNO_IS_PRIVILEGE(errno))
log_debug_errno(errno, "Kernel keyring access prohibited, ignoring.");
else
return log_error_errno(errno, "Setting up kernel keyring failed: %m");
r = path_is_mount_point(x, NULL, 0);
if (IN_SET(r, 0, -ENOENT))
continue;
- if (IN_SET(r, -EACCES, -EPERM)) {
+ if (r < 0) {
+ if (!ERRNO_IS_PRIVILEGE(r))
+ return r;
+
/* Even if root user invoke this, submounts under private FUSE or NFS mount points
* may not be acceessed. E.g.,
*
log_debug_errno(r, "Failed to determine '%s' is mount point or not, ignoring: %m", x);
continue;
}
- if (r < 0)
- return r;
/* Try to reuse the original flag set */
orig_flags = 0;