b7dd4d
From 1f4af2e456675c6226857ee0c8127ff4b3d1d18a Mon Sep 17 00:00:00 2001
ff479f
From: Yu Watanabe <watanabe.yu+github@gmail.com>
ff479f
Date: Fri, 6 May 2022 14:01:22 +0900
ff479f
Subject: [PATCH] core/slice: make slice_freezer_action() return 0 if freezing
ff479f
 state is unchanged
ff479f
ff479f
Fixes #23278.
ff479f
ff479f
(cherry picked from commit d171e72e7afa11b238ba20758384d223b0c76e39)
ff479f
b7dd4d
Related: #2047373
ff479f
---
ff479f
 src/core/slice.c | 6 +-----
ff479f
 src/core/unit.c  | 2 ++
ff479f
 2 files changed, 3 insertions(+), 5 deletions(-)
ff479f
ff479f
diff --git a/src/core/slice.c b/src/core/slice.c
ff479f
index c10e830917..34f3c84bf9 100644
ff479f
--- a/src/core/slice.c
ff479f
+++ b/src/core/slice.c
ff479f
@@ -395,11 +395,7 @@ static int slice_freezer_action(Unit *s, FreezerAction action) {
ff479f
                         return r;
ff479f
         }
ff479f
 
ff479f
-        r = unit_cgroup_freezer_action(s, action);
ff479f
-        if (r < 0)
ff479f
-                return r;
ff479f
-
ff479f
-        return 1;
ff479f
+        return unit_cgroup_freezer_action(s, action);
ff479f
 }
ff479f
 
ff479f
 static int slice_freeze(Unit *s) {
ff479f
diff --git a/src/core/unit.c b/src/core/unit.c
ff479f
index e2c61ce866..bd79578255 100644
ff479f
--- a/src/core/unit.c
ff479f
+++ b/src/core/unit.c
ff479f
@@ -5622,6 +5622,8 @@ static int unit_freezer_action(Unit *u, FreezerAction action) {
ff479f
         if (r <= 0)
ff479f
                 return r;
ff479f
 
ff479f
+        assert(IN_SET(u->freezer_state, FREEZER_FREEZING, FREEZER_THAWING));
ff479f
+
ff479f
         return 1;
ff479f
 }
ff479f