public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: Neil Horman <nhorman@tuxdriver.com>
Cc: Patrick McHardy <kaber@trash.net>,
	adam@yggdrasil.com, jcm@jonmasters.org,
	netfilter-devel@lists.netfilter.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/2] Fix (improve) deadlock condition on module removal netfilter socket option removal
Date: Thu, 06 Sep 2007 03:41:37 +1000	[thread overview]
Message-ID: <1189014097.10802.174.camel@localhost.localdomain> (raw)
In-Reply-To: <20070905170831.GA25050@hmsreliant.think-freely.org>

On Wed, 2007-09-05 at 13:08 -0400, Neil Horman wrote:
> On Thu, Sep 06, 2007 at 02:13:26AM +1000, Rusty Russell wrote:
> > On Wed, 2007-09-05 at 17:22 +0200, Patrick McHardy wrote:
> > > But I'm wondering, wouldn't module refcounting alone fix this problem?
> > > If we make nf_sockopt() call try_module_get(ops->owner), remove_module()
> > > on ip_tables.ko would simply fail because the refcount is above zero
> > > (so it would fail at point 3 above). Am I missing something important?
> > 
> > Yes, that seems the correct solution to me, too.  ISTR that this code
> > predates the current module code.
> > 
> > Rusty.
> 
> Thanks guys-
> 	When I first started looking at this problem I would have agreed with
> you, that module reference counting alone would fix the problem.  However,
> delete_module can work in either a non-blocking or a blocking mode.  rmmod
> passes O_NONBLOCK to delete module, and so is fine, but modprobe does not.

Hi Neil,

	You have this backwards: O_NONBLOCK is the default.  That seems to be
what everyone wants, although I implemented 'rmmod -w' because it seemed
like a good option.

Rusty.



  reply	other threads:[~2007-09-05 17:42 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-04 20:24 [PATCH 0/2] Fix (improve) deadlock condition on module removal netfilter socket option removal Neil Horman
2007-09-05 15:22 ` Patrick McHardy
2007-09-05 16:13   ` Rusty Russell
2007-09-05 17:08     ` Neil Horman
2007-09-05 17:41       ` Rusty Russell [this message]
2007-09-05 18:19         ` Jon Masters
2007-09-05 19:27         ` Neil Horman
2007-09-05 20:17           ` Jon Masters
2007-09-05 20:51           ` Rusty Russell
2007-09-05 20:59             ` Jon Masters
2007-09-05 21:39           ` Jon Masters
2007-09-06  0:17             ` Neil Horman
2007-09-06 12:55             ` Neil Horman
2007-09-06 13:35               ` Jon Masters
2007-09-06 15:40                 ` Neil Horman
2007-09-06 10:33       ` Patrick McHardy
2007-09-06 11:08         ` Neil Horman

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=1189014097.10802.174.camel@localhost.localdomain \
    --to=rusty@rustcorp.com.au \
    --cc=adam@yggdrasil.com \
    --cc=jcm@jonmasters.org \
    --cc=kaber@trash.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netfilter-devel@lists.netfilter.org \
    --cc=nhorman@tuxdriver.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