From: Antique Date: Thu, 26 Apr 2018 10:37:35 +0000 (+0200) Subject: cgroup-util: fix enabling of controllers (#8816) X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=91b7eae095db9442e5473c626175185cf448ba51;p=elogind.git cgroup-util: fix enabling of controllers (#8816) If enabling controller for some reason fails we need to clear error for the FILE stream. Enabling remaining controllers would otherwise fail because write_string_stream_ts() checks for ferror(f) and returns -EIO if there is one. Broken by commit <77fa610b22>. Signed-off-by: Pavel Hrdina (cherry picked from commit 96aa6591d1103b8cca9a4db80ba478a18bdf3e9a) --- diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index bc012b6b2..fa9275043 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -2727,8 +2727,10 @@ int cg_enable_everywhere(CGroupMask supported, CGroupMask mask, const char *p) { } r = write_string_stream(f, s, 0); - if (r < 0) + if (r < 0) { log_debug_errno(r, "Failed to enable controller %s for %s (%s): %m", n, p, fs); + clearerr(f); + } } }