[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20061211021718.a6954106.akpm@osdl.org>
Date: Mon, 11 Dec 2006 02:17:18 -0800
From: Andrew Morton <akpm@...l.org>
To: Al Viro <viro@....linux.org.uk>
Cc: Andrew MChuck Ebbert <76306.1226@...puserve.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
"Linus Torvalds orton <akpm@...l.org>" <torvalds@...l.org>
Subject: Re: [patch] pipe: Don't oops when pipe filesystem isn't mounted
On Mon, 11 Dec 2006 10:03:01 +0000
Al Viro <viro@....linux.org.uk> wrote:
> On Mon, Dec 11, 2006 at 01:47:27AM -0800, Andrew Morton wrote:
> > - populate_rootfs() puts stuff into the filesystem
> >
> > - we then run initcalls.
> >
> > - an initcall runs /sbin/hotplug.
> >
> > We're now running userspace before all the initcalls have been executed.
> > Hence we're trying to run userspace when potentially none of "grep
> > _initcall */*.c" has been executed. It isn't a kernel yet...
>
> That's... arguable. We certainly don't need lots and lots of initcalls
> to be able to run userland code. Which ones are missing in your opinion?
I think we should aim to have as many subsystems ready to go as possible -
ideally all of them. Right now we can potentially run userspace before
AIO, posix-timers, message-queues, BIO, networking, etc are ready to run.
It looks to be pretty easy to fix...
> As for that example, I'd love to see specifics - which driver triggers
> hotplug? Presumably it happens from an initcall, so we also have something
> fishy here...
I don't know in this case - but firmware loading from a statically-linked
driver is a legit thing to do.
> Said that, I think that pipes should be initialized early.
Judging by the comment there, the only reason we prepare the rootfs prior
to running initcalls is for firmware. So the sequence
run initcalls
populate rootfs
run initcalls which want to access files
fixes everything?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists