{"push_id":914612361,"size":1,"distinct_size":1,"ref":"refs/heads/aosp","head":"f7297235a44de348e432447886d353df1ec7d9f8","before":"02516662f68f2d24ecf5e6e4ab3576e3ced42d98","commits":[{"sha":"f7297235a44de348e432447886d353df1ec7d9f8","author":{"email":"3f4691d6b30dcc3b917706e59790b67b190cec84@ukr.net","name":"Saylance"},"message":"cgroup: fix exit() vs rmdir() race\n\n\r\nIn cgroup_exit() put_css_set_taskexit() is called without any lock,\r\nwhich might lead to accessing a freed cgroup:\r\n\r\nthread1                           thread2\r\n---------------------------------------------\r\nexit()\r\n  cgroup_exit()\r\n    put_css_set_taskexit()\r\n      atomic_dec(cgrp->count);\r\n                                   rmdir();\r\n      /* not safe !! */\r\n      check_for_release(cgrp);\r\n\r\nrcu_read_lock() can be used to make sure the cgroup is alive.\r\n\r\nSigned-off-by: Li Zefan <lizefan@huawei.com>\r\nSigned-off-by: Tejun Heo <tj@kernel.org>\r\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Saylance/raw_kernel_tw/commits/f7297235a44de348e432447886d353df1ec7d9f8"}]}