All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarek Poplawski <jarkao2@gmail.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Changli Gao <xiaosuo@gmail.com>,
	David Miller <davem@davemloft.net>,
	netdev <netdev@vger.kernel.org>,
	Stephen Hemminger <shemminger@vyatta.com>,
	Patrick McHardy <kaber@trash.net>
Subject: Re: [PATCH net-2.6 v2] pkt_sched: gen_estimator: add a new lock
Date: Wed, 9 Jun 2010 11:33:29 +0000	[thread overview]
Message-ID: <20100609113329.GC7308@ff.dom.local> (raw)
In-Reply-To: <1276076350.2442.90.camel@edumazet-laptop>

On Wed, Jun 09, 2010 at 11:39:10AM +0200, Eric Dumazet wrote:
...
> Here is v2 of patch, adding protection in gen_estimator_active() as
> well.
> 
> [PATCH net-2.6 v2] pkt_sched: gen_estimator: add a new lock
> 
> gen_kill_estimator() / gen_new_estimator() is not always called with
> RTNL held.
> 
> net/netfilter/xt_RATEEST.c is one user of these API that do not hold
> RTNL, so random corruptions can occur between "tc" and "iptables".
> 
> Add a new fine grained lock instead of trying to use RTNL in netfilter.

Btw, maybe it's a different case, but RTNL happens in netfilter already
(nf_conntrack_helper.c, nf_conntrack_proto.c).

It would be nice to mention Changli's argument that
gen_replace_estimator isn't atomic operation after this change.

> @@ -312,8 +315,14 @@ EXPORT_SYMBOL(gen_replace_estimator);
>  bool gen_estimator_active(const struct gnet_stats_basic_packed *bstats,
>  			  const struct gnet_stats_rate_est *rate_est)
>  {
> +	bool res;
> +
>  	ASSERT_RTNL();

This line should go away as well.

I'm OK with this patch unless there is an alternative xt_RATEEST RTNL
fix available.

Jarek P.

  reply	other threads:[~2010-06-09 11:33 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-07 14:32 [PATCH net-next-2.6] pkt_sched: gen_estimator: kill est_lock rwlock Eric Dumazet
2010-06-07 14:53 ` Changli Gao
2010-06-07 15:30   ` Eric Dumazet
2010-06-07 15:55     ` Eric Dumazet
2010-06-07 16:56       ` [PATCH net-next-2.6 v2] " Eric Dumazet
2010-06-07 17:18         ` [PATCH net-2.6] pkt_sched: gen_estimator: add a new lock Eric Dumazet
2010-06-08  1:00           ` Changli Gao
2010-06-08  4:30             ` Eric Dumazet
2010-06-08  4:57               ` Changli Gao
2010-06-08  4:58             ` Eric Dumazet
2010-06-08  5:20               ` Changli Gao
2010-06-08  5:39                 ` Eric Dumazet
2010-06-09  9:39           ` [PATCH net-2.6 v2] " Eric Dumazet
2010-06-09 11:33             ` Jarek Poplawski [this message]
2010-06-09 11:55               ` Eric Dumazet
2010-06-11  5:54             ` David Miller
2010-06-08 12:15         ` [PATCH net-next-2.6 v2] pkt_sched: gen_estimator: kill est_lock rwlock Jarek Poplawski
2010-06-08 12:27           ` Eric Dumazet
2010-06-08 12:40             ` Jarek Poplawski
2010-06-08 19:29               ` Jarek Poplawski
2010-06-08 19:45                 ` Eric Dumazet
2010-06-08 20:24                   ` Jarek Poplawski
2010-06-08 20:52                     ` Eric Dumazet
2010-06-08 21:18                       ` Jarek Poplawski
2010-06-09  6:13                       ` pkt_sched: gen_estimator: more fuel for Jarek and Changli Eric Dumazet
2010-06-09  6:51                         ` Jarek Poplawski
2010-06-09  7:36                           ` Eric Dumazet
2010-06-09  8:14                             ` Jarek Poplawski
2010-06-09  9:40         ` [PATCH] pkt_sched: gen_kill_estimator() rcu fixes Eric Dumazet
2010-06-09  9:56           ` Eric Dumazet
2010-06-09 10:41             ` Jarek Poplawski
2010-06-09 12:09               ` Eric Dumazet
2010-06-09 12:50                 ` Jarek Poplawski
2010-06-09 13:05                   ` Eric Dumazet
2010-06-12  1:39                 ` David Miller

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=20100609113329.GC7308@ff.dom.local \
    --to=jarkao2@gmail.com \
    --cc=davem@davemloft.net \
    --cc=eric.dumazet@gmail.com \
    --cc=kaber@trash.net \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@vyatta.com \
    --cc=xiaosuo@gmail.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 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.