From: Greg KH <greg@kroah.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Linus Torvalds <torvalds@osdl.org>,
Maneesh Soni <maneesh@in.ibm.com>, Andrew Morton <akpm@osdl.org>,
stern@rowland.harvard.edu, David Brownell <david-b@pacbell.net>,
viro@math.psu.edu,
Linux-USB <linux-usb-devel@lists.sourceforge.net>,
Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: [linux-usb-devel] [PATCH] back out sysfs reference count change
Date: Wed, 31 Mar 2004 14:18:04 -0800 [thread overview]
Message-ID: <20040331221804.GA4729@kroah.com> (raw)
In-Reply-To: <1080699090.1198.117.camel@gaston>
On Wed, Mar 31, 2004 at 12:11:30PM +1000, Benjamin Herrenschmidt wrote:
> On Wed, 2004-03-31 at 09:55, Greg KH wrote:
> > Hi,
> >
> > The patch below backs out Maneesh's sysfs patch that was recently added
> > to the kernel. In its defense, the original patch did solve some fixes
> > that could be duplicated on SMP machines, but the side affect of the
> > patch caused lots of problems. Basically it caused kobjects to get
> > their references incremented when files that are not present in the
> > kobject are asked for (udev can easily trigger this when it looks for
> > files call "dev" in directories that do not have that file). This can
> > cause easy oopses when the VFS later ages out those old dentries and the
> > kobject has its reference finally released (usually after the module
> > that the kobject lived in was removed.)
>
> I think that the bug in the first place is to have an existing
> kobject that didn't bump the module ref count.
>
> If a kobject exists that have a pointer to the module code (the
> release function), it _MUST_ have bumped the module ref count,
> that's the whole point of the module reference count.
But that is impossible as has already been pointed out by Alan Stern.
If a module creates a kobject, how can the module_exit() function ever
be called if that kobject incremented the module reference count?
So what we do is any reference to the kobject grabbed by userspace
causes the module reference count to go up. That fixes the issue for
the most part (with the exception of the race that Maneesh has
documented.)
thanks,
greg k-h
next prev parent reply other threads:[~2004-03-31 22:18 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20040328063711.GA6387@kroah.com>
[not found] ` <Pine.LNX.4.44L0.0403281057100.17150-100000@netrider.rowland.org>
[not found] ` <20040328123857.55f04527.akpm@osdl.org>
[not found] ` <20040329210219.GA16735@kroah.com>
[not found] ` <20040329132551.23e12144.akpm@osdl.org>
2004-03-29 23:16 ` Unregistering interfaces Greg KH
2004-03-29 23:31 ` Andrew Morton
2004-03-30 0:01 ` Greg KH
2004-03-30 7:38 ` Maneesh Soni
2004-03-30 15:38 ` Alan Stern
2004-03-30 5:51 ` Maneesh Soni
2004-03-30 23:01 ` Greg KH
2004-03-30 23:16 ` Andrew Morton
2004-03-30 23:30 ` Greg KH
2004-03-30 23:57 ` Greg KH
2004-03-30 23:56 ` Alan Stern
2004-03-31 0:08 ` David Brownell
2004-03-31 0:34 ` Greg KH
2004-03-31 15:32 ` Alan Stern
2004-03-31 0:33 ` Greg KH
2004-03-31 15:54 ` Alan Stern
2004-04-01 7:24 ` Greg KH
2004-03-30 23:55 ` [PATCH] back out sysfs reference count change Greg KH
2004-03-31 2:11 ` [linux-usb-devel] " Benjamin Herrenschmidt
2004-03-31 2:19 ` Andrew Morton
2004-03-31 9:26 ` Maneesh Soni
2004-03-31 15:11 ` Alan Stern
2004-04-01 5:17 ` Maneesh Soni
2004-04-01 7:15 ` Greg KH
2004-04-01 14:56 ` Alan Stern
2004-04-02 4:38 ` Maneesh Soni
2004-04-02 21:41 ` Alan Stern
2004-04-06 10:13 ` Maneesh Soni
2004-04-06 17:03 ` Alan Stern
2004-04-14 13:20 ` Maneesh Soni
2004-04-15 21:36 ` Greg KH
2004-04-15 22:10 ` Andrew Morton
2004-04-16 8:42 ` Maneesh Soni
2004-03-31 22:18 ` Greg KH [this message]
2004-04-01 1:56 ` Benjamin Herrenschmidt
2004-04-01 3:48 ` Alan Stern
2004-04-01 6:55 ` Greg KH
2004-04-01 7:13 ` Benjamin Herrenschmidt
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=20040331221804.GA4729@kroah.com \
--to=greg@kroah.com \
--cc=akpm@osdl.org \
--cc=benh@kernel.crashing.org \
--cc=david-b@pacbell.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=maneesh@in.ibm.com \
--cc=stern@rowland.harvard.edu \
--cc=torvalds@osdl.org \
--cc=viro@math.psu.edu \
/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