Re: sysfs-related oops during module unload (2.6.16-rc2)

Nathan Lynch
2006-02-19T00:45:00Z

Greg KH wrote:
> On Sat, Feb 11, 2006 at 09:38:49PM -0800, Greg KH wrote:
> > On Sat, Feb 11, 2006 at 11:27:52PM -0600, Nathan Lynch wrote:
> > > Greg KH wrote:
> > > > On Sat, Feb 11, 2006 at 04:03:53PM -0600, Nathan Lynch wrote:
> > > > > If the refcnt attribute of a module is open when the module is
> > > > > unloaded, we get an oops when the file is closed. I used ide_cd for
> > > > > this report but I don't think the oops is caused by the driver itself.
> > > > > This bug seems to be restricted to the /sys/module hierarchy; it
> > > > > doesn't happen with /sys/class etc.

<snip>

>
> Ok, turns out the code was trying to increment the module reference
> count correctly, but it wasn't working right at all. And we were not
> showing a few things in sysfs if module unload was not selected, which
> isn't right.
>
> So here's a patch that fixes all of this, and your original problem.
> Bonus is that it actually removes more code than it adds :)
>
> Can you test it out to verify that it works for you?

Sorry for the delay.

Tested against 2.6.16-rc4-ish, and it seems to do the right thing --
modprobe -r says the module is busy while the refcnt attribute is
open. The module is allowed to unload once the file is closed.

I didn't verify the other stuff your patch changes, though.

Thanks.

Nathan