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! -- tejun