core/execute: warn when threaded mode is detected

Prompted by #22486.
This commit is contained in:
Yu Watanabe
2022-02-16 15:59:03 +09:00
parent 084e7706c2
commit 702cf08fce
2 changed files with 9 additions and 0 deletions
+6
View File
@@ -4250,6 +4250,12 @@ static int exec_child(
}
r = cg_attach_everywhere(params->cgroup_supported, p, 0, NULL, NULL);
if (r == -EUCLEAN) {
*exit_status = EXIT_CGROUP;
return log_unit_error_errno(unit, r, "Failed to attach process to cgroup %s "
"because the cgroup or one of its parents or "
"siblings is in the threaded mode: %m", p);
}
if (r < 0) {
*exit_status = EXIT_CGROUP;
return log_unit_error_errno(unit, r, "Failed to attach to cgroup %s: %m", p);
+3
View File
@@ -346,6 +346,9 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
xsprintf(c, PID_FMT "\n", pid);
r = write_string_file(fs, c, WRITE_STRING_FILE_DISABLE_BUFFER);
if (r == -EOPNOTSUPP && cg_is_threaded(controller, path) > 0)
/* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */
return -EUCLEAN;
if (r < 0)
return r;