RE: [BUG] initrd broken in 2.3.51->99pre3

From: Mike Klar (mfklar@ponymail.com)
Date: Mon Apr 03 2000 - 00:09:44 EST


Mike Galbraith wrote:

> > On Fri, 31 Mar 2000, Jeff Noxon wrote:
> > ...
> > > In rd.c (rd_open), the following code causes an oops and
> > > hangs the boot:
> > >
> > > if (rd_inode[DEVICE_NR(inode->i_rdev)] == NULL) {
> > > if((rd_inode[DEVICE_NR(inode->i_rdev)] = igrab(inode))
!= NULL)
> > >
atomic_inc(&rd_inode[DEVICE_NR(inode->i_rdev)]->i_bdev->bd_openers);
> > > }
> > >
> > > In the third line, i_bdev is null. ...
>
> [turned out to be GRUB problem. maybe]

Maybe so, but rd probably ought not to be oopsing here. I ran into the same
problem while testing initrd recently, and the kernel decided not to load
the initrd image because initrd start address was >= top of memory. Same
line of code oopsed. In fact, loading the kernel with root=/dev/ram without
providing an initrd at all did the same thing.

Granted, trying to mount root off an empty ramdisk is not going to do
anything useful, so this isn't critical, but IMO is shouldn't oops. I
really don't understand that part of the rd code too well, anyone else care
to have a look at it?

Mike Klar

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Apr 07 2000 - 21:00:09 EST