Re: 2.6.22-rc6(mm1) Unable to handle kernel NULL pointer dereference - git-bisect result

From: Al Viro
Date: Sun Jul 08 2007 - 15:26:43 EST


On Sun, Jul 08, 2007 at 12:00:55PM -0700, Linus Torvalds wrote:
>
>
> On Sun, 8 Jul 2007, Al Viro wrote:
> >
> > I think that we need to go the other way round - gather nameidata
> > ->nd and ->dentry into struct path and pass pointer to that instead...
>
> Yeah, that sounds fine too.
>
> > But that's .23-rc1 fodder, if not .23-rc2 one (we might want to
> > do -rc2 with just that, to avoid conflicts with pending patches).
> > Definitely not for .22-final.
>
> Oh, absolutely. I wasn't implying that we would want to do it today, but
> as it is now, just looking at that code makes my eyes water.. So it would
> be nice to fix that up.
>
> One reason I would almost prefer an "nd", though, is that it would allow
> us to in general always just convert anythign that now looks up a path to
> look up "a path or file descriptor" instead. Those things need "nd" right
> now, and if it's a "struct path", then you'll always have the two
> different cases, rather than just the common "release_nd()" at the end.

Umm... Perhaps, but I'm not sure if we want to play with refcounts for
mnt/dentry in file case. If we do, we can always do your helper, but
have it fill supplied struct file - either from fd or from nameidata.
And release_nd() before returning from helper.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/