File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -108,16 +108,18 @@ static int freezer_css_online(struct cgroup_subsys_state *css)
108
108
struct freezer * freezer = css_freezer (css );
109
109
struct freezer * parent = parent_freezer (freezer );
110
110
111
+ cpus_read_lock ();
111
112
mutex_lock (& freezer_mutex );
112
113
113
114
freezer -> state |= CGROUP_FREEZER_ONLINE ;
114
115
115
116
if (parent && (parent -> state & CGROUP_FREEZING )) {
116
117
freezer -> state |= CGROUP_FREEZING_PARENT | CGROUP_FROZEN ;
117
- static_branch_inc (& freezer_active );
118
+ static_branch_inc_cpuslocked (& freezer_active );
118
119
}
119
120
120
121
mutex_unlock (& freezer_mutex );
122
+ cpus_read_unlock ();
121
123
return 0 ;
122
124
}
123
125
@@ -132,14 +134,16 @@ static void freezer_css_offline(struct cgroup_subsys_state *css)
132
134
{
133
135
struct freezer * freezer = css_freezer (css );
134
136
137
+ cpus_read_lock ();
135
138
mutex_lock (& freezer_mutex );
136
139
137
140
if (freezer -> state & CGROUP_FREEZING )
138
- static_branch_dec (& freezer_active );
141
+ static_branch_dec_cpuslocked (& freezer_active );
139
142
140
143
freezer -> state = 0 ;
141
144
142
145
mutex_unlock (& freezer_mutex );
146
+ cpus_read_unlock ();
143
147
}
144
148
145
149
static void freezer_css_free (struct cgroup_subsys_state * css )
You can’t perform that action at this time.
0 commit comments