aristanetworks / bst

A one-stop shop for process isolation
MIT License
101 stars 9 forks source link

cgroup: avoid using pid for cgroup name #91

Closed Snaipe closed 9 months ago

Snaipe commented 9 months ago

This commit eliminates all issues around pid reuse in the cgroup name.

Normally, the native cgroup cleaner (or systemd) would be responsible for garbage-collecting the cgroup of a previous bst invocation, but if we burn enough PIDs fast enough, it's also entirely possible for a new bst to start while the cleaner of an older invocation is busy cleaning up the old cgroup.

To fix the problem, we use a random 128-bit identifier instead of the pid in the name of the cgroup.