Re: sdhci driver produces kernel oops on ejecting the card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 11, 2006 at 12:43:56PM -0700, Mikkel Erup wrote:
> > --- Russell King <[email protected]> wrote:
> > 
> > > So the
> > > only place for sane
> > > refcounting seems to be genhd.c, as per the patch
> > > below.
> > > 
> > > Comments?
> > > 
> > > diff -up -x BitKeeper -x ChangeSet -x SCCS -x _xlk
> > -x
> > > *.orig -x *.rej -x .git a/block/genhd.c
> > > b/block/genhd.c
> > > --- a/block/genhd.c	Sat Feb 18 10:31:37 2006
> > > +++ b/block/genhd.c	Fri Apr  7 15:22:21 2006
> > > @@ -262,6 +262,7 @@ static int exact_lock(dev_t
> > dev,
> > > void *d
> > >   */
> > >  void add_disk(struct gendisk *disk)
> > >  {
> > > +	get_device(disk->driverfs_dev);
> > >  	disk->flags |= GENHD_FL_UP;
> > >  	blk_register_region(MKDEV(disk->major,
> > > disk->first_minor),
> > >  			    disk->minors, NULL, exact_match,
> > exact_lock,
> > > disk);
> > > @@ -507,6 +508,7 @@ static struct attribute *
> > > default_attrs[
> > >  static void disk_release(struct kobject * kobj)
> > >  {
> > >  	struct gendisk *disk = to_disk(kobj);
> > > +	put_device(disk->driverfs_dev);
> > >  	kfree(disk->random);
> > >  	kfree(disk->part);
> > >  	free_disk_stats(disk);
> > 
> > I can confirm that this patch is working.
> > The 2.6.16-git20 kernel doesn't oops on
> > ejecting the card after the patch is applied.
> > 
> > Mikkel
> 
> I didn't see anything regarding this on sdchi-devel or lkml for a
> week or so, so I thought I'd just make sure it's not forgotten.
> This patch works really well for me. The kernel no longer oopses
> on ejecting the card because a NULL pointer is no longer
> dereferenced and I think the patch should be considered.

I think it needs someone like Al Viro or Jens Axboe to review it.
I sent the patch to them originally, but when you replied, your mailer
removed them from your reply.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux