Messages in this thread | | | Date | Mon, 11 Dec 2006 02:17:18 -0800 | From | Andrew Morton <> | 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@ftp.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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |