diff --git a/src/core/service.c b/src/core/service.c index 012336b47a..8950eed539 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -6307,9 +6307,13 @@ int service_determine_exec_selinux_label(Service *s, char **ret) { log_unit_debug_errno(UNIT(s), r, "Can't read SELinux label off binary '%s', due to privileges, ignoring.", path); return -ENODATA; } - if (r < 0) - return log_unit_debug_errno(UNIT(s), r, "Failed to read SELinux label off binary '%s': %m", path); + if (r < 0) { + if (mac_selinux_enforcing()) + return log_unit_debug_errno(UNIT(s), r, "Failed to read SELinux label off binary '%s': %m", path); + log_unit_debug_errno(UNIT(s), r, "Failed to read SELinux label off binary '%s', SELinux in permissive mode, ignoring: %m", path); + return -ENODATA; + } return 0; }