Skip to content

Commit 2ca92c5

Browse files
cgroupv2: enable controllers before setting resources in NewChild()
Signed-off-by: Miao Wang <[email protected]>
1 parent 2c11864 commit 2ca92c5

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

v2/manager.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -301,15 +301,23 @@ func (c *Manager) NewChild(name string, resources *Resources) (*Manager, error)
301301
if err := os.MkdirAll(path, defaultDirPerm); err != nil {
302302
return nil, err
303303
}
304+
m := Manager{
305+
unifiedMountpoint: c.unifiedMountpoint,
306+
path: path,
307+
}
308+
if resources != nil {
309+
if err := m.ToggleControllers(resources.EnabledControllers(), Enable); err != nil {
310+
// clean up cgroup dir on failure
311+
os.Remove(path)
312+
return nil, err
313+
}
314+
}
304315
if err := setResources(path, resources); err != nil {
305316
// clean up cgroup dir on failure
306317
os.Remove(path)
307318
return nil, err
308319
}
309-
return &Manager{
310-
unifiedMountpoint: c.unifiedMountpoint,
311-
path: path,
312-
}, nil
320+
return &m, nil
313321
}
314322

315323
func (c *Manager) AddProc(pid uint64) error {

0 commit comments

Comments
 (0)