Re: WARNING: lock held when returning to user space in grab_super

From: Tetsuo Handa
Date: Wed Jan 02 2019 - 11:50:11 EST


On 2019/01/03 1:16, Tejun Heo wrote:
> Happy new year, Tetsuo.
>
> On Wed, Jan 02, 2019 at 09:08:56PM +0900, Tetsuo Handa wrote:
>> According to commit 633feee310de6b6c ("cgroup: refactor mount path and
>> clearly distinguish v1 and v2 paths"), cgroup_do_mount() is failing to
>> do full teardown steps for kernfs_mount() (deactivate_locked_super() ?)
>> when kernfs_node_dentry() failed.
>
> Hmm... that's basically dget()'ing the root dentry of the sb. I'm not
> sure how that could fail. Can it?

kernfs_node_dentry() calls lookup_one_len_unlocked() which involves
memory allocation, and memory allocation fault injection made
lookup_one_len_unlocked() fail, and thus kernfs_node_dentry() failed.
What's strange?