Re: [bug, 2.6.26-rc4/rc5] sporadic bootup crashes inblk_lookup_devt()/prepare_namespace()

From: Greg KH
Date: Tue Jun 10 2008 - 17:55:29 EST


On Tue, Jun 10, 2008 at 09:51:22AM +0200, Cornelia Huck wrote:
> On Mon, 9 Jun 2008 20:11:09 -0700,
> Greg KH <gregkh@xxxxxxx> wrote:
>
> > On Mon, Jun 09, 2008 at 07:15:21PM +0200, Cornelia Huck wrote:
> > > The driver core changes in -next convert class->sem to
> > > class->p->class_mutex, which makes it non-accessible to drivers.
> > > Most of the locking is easily done through converting to the class
> > > iterator functions, but there are some cases where this is not going to
> > > work:
> > >
> > > - The {register,unregister}_blkdev() functions, which don't directly
> > > involve the class.
> > > - The iterators for /proc/partitions, which take the lock in
> > > part_start() and give it up again in part_stop().
> > >
> > > Maybe we need a possibilty for a driver to lock a class from outside?
> >
> > Why would that be needed? We protect walking the class lists internally
> > with the lock, that should be sufficient, right?
>
> What about the two functions I cited above? Don't we want them
> protected by the same lock?

For register/unregister, yes, we still need to protect the list of
major/minor numbers.

But for the proc/partitions list, I don't think we still need it
anymore, but I might be missing something here. :)

thanks,

greg k-h
--
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/