Re: [BUG 2.6.17-git] kmem_cache_create: duplicate cache scsi_cmd_cache

Russell King
2006-05-14T16:01:59Z

On Fri, May 12, 2006 at 04:57:45PM -0700, Greg KH wrote:
> On Fri, May 12, 2006 at 03:37:59PM -0700, Linus Torvalds wrote:
> > On Fri, 12 May 2006, Linus Torvalds wrote:
> > > On Fri, 12 May 2006, Russell King wrote:
> > > >
> > > > From: Todd Blumer <todd@sdgsystems.com>
> > > > On a PXA27x handheld (iPAQ hx4700), when we eject a mounted SD memory
> > > > card, we get a kernel panic (kernel trying to clean up non-existent
> > > > device). One hack patch to avoid the panic is:
> > > >
> > > > --- fs/partitions/check.c 10 Apr 2006 22:57:27 -0000 1.15
> > > > +++ fs/partitions/check.c 4 May 2006 20:30:15 -0000
> > > > @@ -491,6 +491,7 @@
> > > > kfree(disk_name);
> > > > }
> > > > put_device(disk->driverfs_dev);
> > > > + disk->driverfs_dev = 0; /* HACK - what's the right solution? */
> > > > }
> > > > kobject_uevent(&disk->kobj, KOBJ_REMOVE);
> > > > kobject_del(&disk->kobj);
> > >
> > > Btw, on the face it of, I really think that this patch is correct
> > > regardless of any other issues.
> >
> > .. and I suspect it also shows what the "other issues" are.
> >
> > Shouldn't that KOBJ_REMOVE uevent happen _before_ we do all the freeing of
> > the backing dev object? That KOBJ_REMOVE thing actually seems to want to
> > report the pathname for the disk it removes. Preferably before the thing
> > is gone and can't be reported on..
> >
> > Ie shouldn't the diff be something like this?
>
> It looks sane to me. Russell, does it solve your oops too?

It appears to.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core