On Thu, Nov 23, 2017 at 03:35:37PM +0100, Michal Hocko wrote: > Hopefully less screwed version. But as I've said I am not really > familiar with the code and do not feel competent to change it so please > be very careful here. I've moved the shrinker registration to > alloc_super which turned out to be simpler. I don't get it. Why the hell do we need all that PITA in the first place? Just make sget_userns() end with if (unlikely(regsiter_shrinker(&s->s_shrink) != 0)) { deactivate_locked_super(s); s = ERR_PTR(-ENOMEM); } return s; and be done with that. All there is to it...