On 2019/1/12 4:54, Tejun Heo wrote: > Hello, Al. > > On Fri, Jan 11, 2019 at 07:23:09AM +0000, Al Viro wrote: >> AFAICS, a cleaner solution would be this: >> * to hell with kernfs_pin_sb(); just try to grab a reference to >> cgroup_root on reuse. >> * have cgroup_kill_sb() treat "it's already marked killed" as >> "just drop the reference, then". >> * after cgroup_do_mount() check if cgroup_root got marked killed and >> do deactivate_locked_super() in such case (with the same >> restart_syscall() failure exit). >> >> Objections? I would love to kill kernfs_pin_sb() as >> a followup (it's a fundamentally broken API), but that's not >> a stable fodder; some fix of refcounting bugs, OTOH, should be. > > cgroup1 hierarchies have really weird set of requirements and the > implementation has always been somewhat broken. I thought I fixed it > but obviously not. I have no objection whatsoever and would much > appreciate the work. > > Thanks a lot and happy new year! > +1. We've fixed bugs there quite a few times. Would be great to see it's fixed once and for all. Thnaks for the work!