From: Rusty Russell <rusty@rustcorp.com.au>
To: Tejun Heo <htejun@gmail.com>
Cc: Jonathan Corbet <corbet@lwn.net>,
ebiederm@xmission.com, cornelia.huck@de.ibm.com, greg@kroah.com,
stern@rowland.harvard.edu, kay.sievers@vrfy.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/4] module: implement module_inhibit_unload()
Date: Tue, 25 Sep 2007 13:21:33 +1000 [thread overview]
Message-ID: <1190690493.27805.263.camel@localhost.localdomain> (raw)
In-Reply-To: <46F874DB.5070205@gmail.com>
On Tue, 2007-09-25 at 11:39 +0900, Tejun Heo wrote:
> Rusty Russell wrote:
> >>> I really wonder if an explicit "kill_this_attribute()" is a better way
> >>> to go than this...
> >> I think this sort of temporary unload blocking would be useful for other
> >> cases like this.
> >
> > I hope not: this doesn't work in general. Calling into a module after
> > ->exit has called assumes that the exit function doesn't free up or
> > overwrite stuff the other functions need.
>
> Right, the sole purpose the unload inhibition is to hold onto the 'code'
> section from going away. The rest of object lifetime management should
> be implemented using separate mechanisms anyway. I was talking about
> similar cases where the 'code' should be protected for a short time.
As stated you cannot protect arbitrary code this way, as you are trying
to do. I do not think you've broken any of the current code, but I
cannot tell. You're certainly going to surprise unsuspecting future
authors.
Can you really not figure out the module owner of the sysfs entry to inc
its use count during this procedure? (__module_get()).
Rusty.
next prev parent reply other threads:[~2007-09-25 3:22 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-20 7:26 [PATCHSET 2/4] sysfs: allow suicide Tejun Heo
2007-09-20 7:26 ` [PATCH 1/4] module: implement module_inhibit_unload() Tejun Heo
2007-09-24 22:00 ` Jonathan Corbet
2007-09-24 23:18 ` Tejun Heo
2007-09-24 23:42 ` Rusty Russell
2007-09-25 1:40 ` Tejun Heo
2007-09-25 2:12 ` Rusty Russell
2007-09-25 2:39 ` Tejun Heo
2007-09-25 3:21 ` Rusty Russell [this message]
2007-09-25 3:36 ` Tejun Heo
2007-09-25 4:38 ` Rusty Russell
2007-09-25 8:01 ` Cornelia Huck
2007-09-25 8:25 ` Tejun Heo
2007-09-25 8:36 ` Tejun Heo
2007-09-25 8:50 ` Rusty Russell
2007-09-25 14:05 ` Tejun Heo
2007-09-25 14:24 ` Alan Stern
2007-09-25 14:30 ` Tejun Heo
2007-09-25 15:09 ` Alan Stern
2007-09-25 23:15 ` Tejun Heo
2007-09-25 23:41 ` Rusty Russell
2007-09-26 1:42 ` Tejun Heo
2007-09-26 14:39 ` Alan Stern
2007-09-20 7:26 ` [PATCH 4/4] sysfs: make suicidal nodes just do it directly Tejun Heo
2007-09-20 9:24 ` Cornelia Huck
2007-09-20 9:43 ` Tejun Heo
2007-09-28 13:54 ` Cornelia Huck
2007-09-28 14:27 ` Tejun Heo
2007-09-20 7:26 ` [PATCH 2/4] sysfs: make the sysfs_addrm_cxt->removed list FIFO Tejun Heo
2007-09-20 7:26 ` [PATCH 3/4] sysfs: care-free suicide for sysfs files Tejun Heo
2007-09-25 22:02 ` [PATCHSET 2/4] sysfs: allow suicide Greg KH
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=1190690493.27805.263.camel@localhost.localdomain \
--to=rusty@rustcorp.com.au \
--cc=corbet@lwn.net \
--cc=cornelia.huck@de.ibm.com \
--cc=ebiederm@xmission.com \
--cc=greg@kroah.com \
--cc=htejun@gmail.com \
--cc=kay.sievers@vrfy.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stern@rowland.harvard.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