linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thayne Harbaugh <tharbaugh@lnxi.com>
To: klibc@zytor.com
Cc: linux-kernel@vger.kernel.org, linux-hotplug-devel@lists.sourceforge.net
Subject: chicken/egg between pipefs and initramfs/hotplug
Date: Mon, 25 Oct 2004 18:30:08 +0000	[thread overview]
Message-ID: <1098729008.19348.80.camel@tubarao> (raw)

I have a hotplug setup in initramfs.  Everytime that modprobe is called
I get a kernel oops: NULL pointer dereference:

Unable to handle kernel NULL pointer dereference<1>Unable to handle kernel NULL pointer dereference at virtual address 00000014
 printing eip:
c015db49
*pde = 00000000
Oops: 0000 [#1]
PREEMPT SMP
Modules linked in:
CPU:    3
EIP:    0060:[<c015db49>]    Not tainted
EFLAGS: 00010296   (2.6.8)
EIP is at get_pipe_inode+0x9/0xb2
eax: 00000000   ebx: f74f4780   ecx: 00000000   edx: 00000000
esi: f7575580   edi: 0805cbdc   ebp: f767a000   esp: f767bf3c
ds: 007b   es: 007b   ss: 0068
Process default.hotplug (pid: 184, threadinfo÷67a000 task÷4d9110)
Stack: f74f4780 f74f4780 c015dc24 f74d9110 c0168225 f7963ef0 c0392e80 f74f4780
       ffffffe9 f74f4080 f767bfac 00000ff8 c014ff5f f7963cb0 00000001 00000ff8
       f767bfac c0162d17 00000000 f74f4080 fffffff7 bfffdeec f767bfb0 0805cbdc
Call Trace:
 [<c015dc24>] do_pipe+0x32/0x20e
 [<c0168225>] dput+0x9e/0x2b0
 [<c014ff5f>] vfs_read+0x94/0x103
 [<c0162d17>] do_fcntl+0x18c/0x21f
 [<c010a8ad>] sys_pipe+0x11/0x49
 [<c0103f2f>] syscall_call+0x7/0xb
Code: 8b 40 14 89 04 24 e8 4e d5 00 00 85 c0 89 c3 0f 84 8d 00 00


It appears that linux/init/main.c:init() has a chicken/egg problem.
Apparently modprobe and other programs need a pipe and pipefs isn't
mounted until later on in do_basic_setup()/do_initcalls().  That means
that linux/fs/pipe.c:static struct vfsmount *pipe_mnt;  isn't
initialized and blows up when it's derefernced in
linux/fs/pipe.c:get_pipe_inode().

Has this been discussed before?  Is there something that userspace can
wait on until pipefs is mounted or more of the kernel is initialized?  I
did some searching and I just can't turn up a previous discussion about
this - my apologies if it's already been covered.

-- 
Thayne Harbaugh
Linux Networx



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

             reply	other threads:[~2004-10-25 18:30 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-25 18:30 Thayne Harbaugh [this message]
2004-10-26 23:29 ` chicken/egg between pipefs and initramfs/hotplug Andrew Morton
2004-10-28 14:23   ` Thayne Harbaugh
2004-10-28  7:23 ` Bob Barry
2004-10-28  7:42 ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1098729008.19348.80.camel@tubarao \
    --to=tharbaugh@lnxi.com \
    --cc=klibc@zytor.com \
    --cc=linux-hotplug-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).