mkdir_parents_label(path, directory_mode);
- r = mac_selinux_context_set(path, S_IFIFO);
+ r = mac_selinux_create_file_prepare(path, S_IFIFO);
if (r < 0)
goto fail;
goto fail;
}
- mac_selinux_context_clear();
+ mac_selinux_create_file_clear();
if (fstat(fd, &st) < 0) {
r = -errno;
return 0;
fail:
- mac_selinux_context_clear();
+ mac_selinux_create_file_clear();
safe_close(fd);
return r;
return 0;
STRV_FOREACH(i, s->symlinks)
- symlink(p, *i);
+ symlink_label(p, *i);
return 0;
}
/* Get it from the network label */
r = mac_selinux_get_our_label(&label);
- if (r < 0 && r != EOPNOTSUPP)
+ if (r < 0 && r != -EOPNOTSUPP)
goto rollback;
} else {
if (UNIT_ISSET(s->service) &&
SERVICE(UNIT_DEREF(s->service))->exec_command[SERVICE_EXEC_START]) {
r = mac_selinux_get_create_label_from_exe(SERVICE(UNIT_DEREF(s->service))->exec_command[SERVICE_EXEC_START]->path, &label);
- if (r < 0 && r != -EPERM && r != EOPNOTSUPP)
+ if (r < 0 && r != -EPERM && r != -EOPNOTSUPP)
goto rollback;
}
}
r = unit_kill_context(
UNIT(s),
&s->kill_context,
- state != SOCKET_STOP_PRE_SIGTERM && state != SOCKET_FINAL_SIGTERM,
+ (state != SOCKET_STOP_PRE_SIGTERM && state != SOCKET_FINAL_SIGTERM) ?
+ KILL_KILL : KILL_TERMINATE,
-1,
s->control_pid,
false);