From: Jiri Pirko <jiri@resnulli.us>
To: Cong Wang <xiyou.wangcong@gmail.com>
Cc: netdev@vger.kernel.org, jiri@mellanox.com,
jakub.kicinski@netronome.com, jhs@mojatatu.com
Subject: Re: [Patch net v3 2/3] net_sched: fix reference counting of tc filter chain
Date: Tue, 12 Sep 2017 12:43:12 +0200 [thread overview]
Message-ID: <20170912104312.GF2036@nanopsycho> (raw)
In-Reply-To: <20170911233332.7594-3-xiyou.wangcong@gmail.com>
Tue, Sep 12, 2017 at 01:33:31AM CEST, xiyou.wangcong@gmail.com wrote:
>This patch fixes the following ugliness of tc filter chain refcnt:
>
>a) tp proto should hold a refcnt to the chain too. This significantly
> simplifies the logic.
>
>b) Chain 0 is no longer special, it is created with refcnt=1 like any
> other chains. All the ugliness in tcf_chain_put() can be gone!
>
>c) No need to handle the flushing oddly, because block still holds
> chain 0, it can not be released, this guarantees block is the last
> user.
>
>d) The race condition with RCU callbacks is easier to handle with just
> a rcu_barrier(). Much easier to understand, nothing to hide. Thanks
> to the previous patch. Please see also the comments in code.
>
>e) Make the code understandable by humans, much less error-prone.
>
>Fixes: 744a4cf63e52 ("net: sched: fix use after free when tcf_chain_destroy is called multiple times")
>Fixes: 5bc1701881e3 ("net: sched: introduce multichain support for filters")
>Cc: Jiri Pirko <jiri@mellanox.com>
>Cc: Jamal Hadi Salim <jhs@mojatatu.com>
>Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Looking good to me. Thanks!
Acked-by: Jiri Pirko <jiri@mellanox.com>
next prev parent reply other threads:[~2017-09-12 10:43 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-11 23:33 [Patch net v3 0/3] net_sched: fix filter chain reference counting Cong Wang
2017-09-11 23:33 ` [Patch net v3 1/3] net_sched: get rid of tcfa_rcu Cong Wang
2017-09-12 9:42 ` Jiri Pirko
2017-09-12 10:40 ` Jiri Pirko
2017-09-12 21:10 ` Cong Wang
2017-09-12 21:36 ` Jiri Pirko
2017-09-12 21:53 ` Cong Wang
2017-09-13 6:13 ` Jiri Pirko
2017-09-11 23:33 ` [Patch net v3 2/3] net_sched: fix reference counting of tc filter chain Cong Wang
2017-09-12 10:43 ` Jiri Pirko [this message]
2017-09-11 23:33 ` [Patch net v3 3/3] net_sched: carefully handle tcf_block_put() Cong Wang
2017-09-12 10:43 ` Jiri Pirko
2017-09-13 3:41 ` [Patch net v3 0/3] net_sched: fix filter chain reference counting David Miller
2017-09-13 6:13 ` Jiri Pirko
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=20170912104312.GF2036@nanopsycho \
--to=jiri@resnulli.us \
--cc=jakub.kicinski@netronome.com \
--cc=jhs@mojatatu.com \
--cc=jiri@mellanox.com \
--cc=netdev@vger.kernel.org \
--cc=xiyou.wangcong@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.