1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-13 13:17:43 +03:00

core/execute: warn when threaded mode is detected

Prompted by #22486.
This commit is contained in:
Yu Watanabe 2022-02-13 20:52:53 +09:00
parent 084e7706c2
commit 702cf08fce
2 changed files with 9 additions and 0 deletions

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);

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;