Re: BUG: unable to handle kernel paging request in dput (2)

From: Greg Kroah-Hartman
Date: Wed Jan 30 2019 - 06:34:17 EST


On Wed, Jan 30, 2019 at 08:26:24PM +0900, Tetsuo Handa wrote:
> On 2019/01/30 20:11, Tetsuo Handa wrote:
> > Hello, Omar.
> >
> > syzbot is reporting a crash due to dput(-EINVAL) [1]. I think the location is
> >
> > dir = debugfs_lookup(buts->name, blk_debugfs_root);
> > if (!dir)
> > bt->dir = dir = debugfs_create_dir(buts->name, blk_debugfs_root);
> >
> > added by commit 6ac93117ab009d39 ("blktrace: use existing disk debugfs directory").
> >
> > Currently, Greg Kroah-Hartman is posting patches:
> >
> > When calling debugfs functions, there is no need to ever check the
> > return value. The function can work or not, but the code logic should
> > never do something different based on this.
> >
> > Omar, what do you want to do for this case?
> >
> > [1] https://syzkaller.appspot.com/bug?extid=b382ba6a802a3d242790
> >
>
> The function which returned -EINVAL instead of NULL seems to be debugfs_lookup()
> modified by commit ff9fb72bc07705c0 ("debugfs: return error values, not NULL").

Ah, my fault then, yes, debugfs_lookup() should return NULL if nothing
is found. My patch was wrong, let me go fix this up, thanks for the
report.

greg k-h