{"push_id":901822928,"size":2,"distinct_size":2,"ref":"refs/heads/18-add-pids-controller","head":"e948b96684376d7264068cd1b644e692de47cf2f","before":"f7e0da94679a596cc955d177ee6f0a5bd7798617","commits":[{"sha":"069022fffe4a92cd4fd311b399648dede31a1cfd","author":{"email":"b305c9b0212d6145eea67bbffd24e29cb79c759c@cyphar.com","name":"Aleksa Sarai"},"message":"libcontainer: cgroups: add pids controller support\n\nAdd support for the pids cgroup controller to libcontainer, a recent\nfeature that is available in Linux 4.3+.\n\nUnfortunately, due to the init process being written in Go, it can spawn\nan an unknown number of threads due to blocked syscalls. This results in\nthe init process being unable to run properly, and thus small pids.max\nconfigs won't work properly.\n\nSigned-off-by: Aleksa Sarai <cyphar@cyphar.com>","distinct":true,"url":"https://api.github.com/repos/cyphar/runc/commits/069022fffe4a92cd4fd311b399648dede31a1cfd"},{"sha":"e948b96684376d7264068cd1b644e692de47cf2f","author":{"email":"b305c9b0212d6145eea67bbffd24e29cb79c759c@cyphar.com","name":"Aleksa Sarai"},"message":"libcontainer: apply pids cgroup late\n\nDue to the fact that the init is implemented in Go, which seemingly\nrandomly spawns new processes, pids.max must be applied as late as\npossible to try to avoid as many blocking syscalls as possible. By\ndelaying the application of the limit to right before doing the Execv(),\nwe can avoid breaking small pids.max limits.\n\nAlso add some tests for very small pids.max limits, to ensure that we\ndon't regress on allowing small pids.max limits. In addition, add more\nsynchronisation between the parent and the child to remove potential\nraces.\n\nSigned-off-by: Aleksa Sarai <cyphar@cyphar.com>","distinct":true,"url":"https://api.github.com/repos/cyphar/runc/commits/e948b96684376d7264068cd1b644e692de47cf2f"}]}