From: Rusty Russell <rusty@rustcorp.com.au>
To: Michal Hocko <mhocko@suse.cz>
Cc: "David S. Miller" <davem@davemloft.net>,
Karsten Keil <kkeil@suse.de>,
linux-kernel@vger.kernel.org,
richard kennedy <richard@rsk.demon.co.uk>,
Dan Williams <dan.j.williams@intel.com>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Russell King <rmk+kernel@arm.linux.org.uk>,
dwmw2@infradead.org, Scott Wood <scottwood@freescale.com>,
netdev@vger.kernel.org, Al Viro <viro@zeniv.linux.org.uk>
Subject: Re: [RFC] Suspicious bug in module refcounting
Date: Wed, 11 Feb 2009 00:06:31 +1030 [thread overview]
Message-ID: <200902110006.33132.rusty@rustcorp.com.au> (raw)
In-Reply-To: <20090210103136.GB7096@dhcp35.suse.cz>
On Tuesday 10 February 2009 21:01:37 Michal Hocko wrote:
> On Tue 10-02-09 13:45:07, Rusty Russell wrote:
> > On Tuesday 10 February 2009 01:48:31 Michal Hocko wrote:
> > > Based on this change, would it make sense to update sys_accept to change
> > > __module_get to try_module_get like in the following patch?
> >
> > I don't think so:
> >
> > > /*
> > > - * We don't need try_module_get here, as the listening socket (sock)
> > > - * has the protocol module (sock->ops->owner) held.
> > > + * Socket's owner cannot be in unloading path because there
> > > + * must be at least one listening reference
> > > */
> > > - __module_get(newsock->ops->owner);
> > > + if (unlikely(!try_module_get(newsock->ops->owner)))
> > > + BUG();
> >
> > rmmod --wait can make try_module_get fail even if the reference count isn't
> > zero.
>
> OK, I though that rmmod --wait waits for refcount==0 and then changes
> the state.
No, it has to stop all future use, otherwise it's useless under load.
Cheers,
Rusty.
prev parent reply other threads:[~2009-02-10 13:36 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-03 13:47 [RFC] Suspicious bug in module refcounting Karsten Keil
2009-02-03 15:02 ` richard kennedy
2009-02-04 3:48 ` Rusty Russell
2009-02-04 10:11 ` Russell King
2009-02-04 10:55 ` Rusty Russell
2009-02-04 10:59 ` Russell King
2009-02-04 16:33 ` Dan Williams
2009-02-06 22:41 ` Karsten Keil
2009-02-09 15:18 ` Michal Hocko
2009-02-10 3:15 ` Rusty Russell
2009-02-10 3:42 ` Karsten Keil
2009-02-10 10:31 ` Michal Hocko
2009-02-10 13:36 ` Rusty Russell [this message]
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=200902110006.33132.rusty@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=dan.j.williams@intel.com \
--cc=davem@davemloft.net \
--cc=dmitry.torokhov@gmail.com \
--cc=dwmw2@infradead.org \
--cc=kkeil@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mhocko@suse.cz \
--cc=netdev@vger.kernel.org \
--cc=richard@rsk.demon.co.uk \
--cc=rmk+kernel@arm.linux.org.uk \
--cc=scottwood@freescale.com \
--cc=viro@zeniv.linux.org.uk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.