linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: davem@redhat.com, arjanv@redhat.com, torvalds@transmeta.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Remove module reference counting.
Date: Fri, 25 Jul 2003 13:54:47 -0400	[thread overview]
Message-ID: <20030725175447.GB2410@kroah.com> (raw)
In-Reply-To: <20030725173900.D7DE12C2A9@lists.samba.org>

On Fri, Jul 25, 2003 at 04:00:18AM +1000, Rusty Russell wrote:
> Hi all,
> 
> 	When the initial module patch was submitted, it made modules
> start isolated, so they would not be accessible until (if)
> initialization had succeeded.  This broke partition scanning, and was
> immediately reverted, leaving us with a module reference count scheme
> identical to the previous one (just a faster implementation): we still
> have cases where modules can be access on failed load.
> 
> 	Then Dave decided that the work of reference counting network
> driver modules everywhere is too invasive, so network driver modules
> now have zero reference counts always.  The idea is that if you don't
> want the module removed, don't do it.  ie. only remove the module if
> there's a bug, or you want to replace it.

Hm, as long as we add a kobject to the module structure, so that users
of a module can be tracked somehow to know if it is safe to unload the
module or not.

This is because there is a difference between device reference counts,
and code reference counts, which is why I added the module owner logic
to sysfs attributes, to prevent code from being unloaded when the device
might already be gone.

So can the following situation still work with this proposed patch:
	- device created
	- sysfs files created associated with that device
	- user opens sysfs file
	- user disconnects sysfs files.
	- device goes away, driver no longer references device, but
	  kobject count is still incremented.
	- driver associated with device is unloaded.
	- user reads sysfs file previously opened (which calls into
	  module memory that is now gone.)

Can we still prevent this from happening now?  I think if we add a
kobject (or something, we still need a kobject to get module
parameters so might as well use that), we might be safe.

thanks,

greg k-h

  parent reply	other threads:[~2003-07-25 17:39 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-24 18:00 [PATCH] Remove module reference counting Rusty Russell
2003-07-25 17:47 ` David S. Miller
2003-07-27 18:50   ` Rusty Russell
2003-07-25 17:54 ` Greg KH [this message]
2003-07-25 19:11   ` Greg KH
2003-07-25 19:26 ` Stephen Hemminger
2003-07-25 19:32   ` Greg KH
2003-07-25 22:26   ` Rusty Russell
2003-07-26 19:31     ` Linus Torvalds
2003-07-26 19:37       ` Arjan van de Ven
2003-07-27  5:38         ` Aschwin Marsman
2003-07-27 11:10           ` Alan Cox
2003-07-27 11:09         ` Alan Cox
2003-07-27 19:34       ` Rusty Russell
2003-07-27 21:47         ` Arjan van de Ven
2003-07-28  0:01           ` Alan Cox
2003-07-28  0:12           ` Bill Nottingham
2003-07-28 11:38             ` Alan Cox
2003-07-29 20:33               ` Rusty Russell
2003-07-30  1:55                 ` Greg KH
2003-07-30 14:40                 ` Alan Cox
2003-07-28 11:40         ` Alan Cox
2003-07-28 18:11         ` Gianni Tedesco
2003-07-28 19:03           ` Mike Fedyk
2003-08-01  2:39         ` Linus Torvalds
2003-07-25 23:24   ` Alan Cox
2003-07-27 18:48     ` Rusty Russell
2003-07-25 22:43 ` Gianni Tedesco
2003-07-25 23:37   ` Bernd Eckenfels
2003-07-26 20:18   ` Rusty Russell
2003-07-28 11:51 ` Rahul Karnik
2003-07-28 23:13   ` Rusty Russell
2003-07-29  2:39     ` Rahul Karnik
2003-07-29  2:10 Perez-Gonzalez, Inaky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030725175447.GB2410@kroah.com \
    --to=greg@kroah.com \
    --cc=arjanv@redhat.com \
    --cc=davem@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    --cc=torvalds@transmeta.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).