If the cgroup destruction races with an exit() of a belonging
process(es), cg_kill_all() may fail. It's not a good reason to make
cg_destroy() fail and leave the cgroup in place, potentially causing
next test runs to fail.

Signed-off-by: Roman Gushchin <g...@fb.com>
Cc: Shuah Khan <sh...@kernel.org>
Cc: Tejun Heo <t...@kernel.org>
Cc: kernel-t...@fb.com
Cc: linux-kselft...@vger.kernel.org
---
 tools/testing/selftests/cgroup/cgroup_util.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tools/testing/selftests/cgroup/cgroup_util.c 
b/tools/testing/selftests/cgroup/cgroup_util.c
index 14c9fe284806..eba06f94433b 100644
--- a/tools/testing/selftests/cgroup/cgroup_util.c
+++ b/tools/testing/selftests/cgroup/cgroup_util.c
@@ -227,9 +227,7 @@ int cg_destroy(const char *cgroup)
 retry:
        ret = rmdir(cgroup);
        if (ret && errno == EBUSY) {
-               ret = cg_killall(cgroup);
-               if (ret)
-                       return ret;
+               cg_killall(cgroup);
                usleep(100);
                goto retry;
        }
-- 
2.19.2

Reply via email to