Re: PCI driver module unload race?

Roman Zippel
2003-03-11T10:54:52Z

Hi,

On Mon, 10 Mar 2003, Greg KH wrote:

> > I think it's not easy. I haven't studied the code completely yet, but e.g.
> > when you attach a device to a driver you also have to get a reference to
> > the driver.
>
> You get a link to the driver, but you can't increment the module count
> of the driver at that time, as we have to be able to remove a module
> somehow :)

Somehow you have to protect dev->driver, you cannot resolve the driver
pointer without holding the bus lock or holding a reference. If you don't
get a reference, any access via this pointer must be done under the bus
lock.

> Yeah, I still think there are some nasty issues with regards to being in
> a sysfs directory, with a open file handle, and the module is removed.
> But I haven't checked stuff like that in a while.
>
> CONFIG_MODULE_UNLOAD, just say no.

That's certainly an option, but I'm afraid not too many people will do
this.

bye, Roman