Re: [patch] pipe: Don't oops when pipe filesystem isn't mounted

From: Al Viro
Date: Mon Dec 11 2006 - 11:12:37 EST


On Mon, Dec 11, 2006 at 08:01:40AM -0800, Linus Torvalds wrote:
>
>
> On Mon, 11 Dec 2006, Al Viro wrote:
>
> > On Mon, Dec 11, 2006 at 02:27:46AM -0800, Andrew Morton wrote:
> > > @@ -115,6 +115,11 @@ extern void setup_arch(char **);
> > > #define device_initcall_sync(fn) __define_initcall("6s",fn,6s)
> > > #define late_initcall(fn) __define_initcall("7",fn,7)
> > > #define late_initcall_sync(fn) __define_initcall("7s",fn,7s)
> > > +#define populate_rootfs_initcall(fn) __define_initcall("8",fn,8)
> > > +#define populate_rootfs_initcall_sync(fn) __define_initcall("8s",fn,8s)
> > > +#define rootfs_neeeded_initcall(fn) __define_initcall("9",fn,9)
> > > +#define rootfs_neeeded_initcall_sync(fn) __define_initcall("9s",fn,9s)
> >
> > Ewww.... After module_init()? Please, don't. Come on, if it can
> > be a module, it _must_ be ready to run late in the game.
>
> Yeah, I think you should just run "populate_rootfs()" just before
> "module_init" (which is the same as "device_initcall()").

> If any really core stuff needs user-land - tough titties, as they say.

FWIW, I really think that this sort of bugs ("oh, I call hotplug,
rootfs is there but kernel is not ready, woe is me") clearly show
that many, _many_ users of hotplug are BS. The reason is simple -
if we have a call of hotplug that early, we have a driver that lives
with hotplug failures _and_ with different behaviour in built-in
and modular cases. I would argue that any such driver is broken.
-
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/