From: Tejun Heo <tj@kernel.org>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: David Miller <davem@davemloft.net>,
cwang@twopensource.com, tom@herbertland.com, kafai@fb.com,
kernel-team@fb.com, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org, torvalds@linux-foundation.org,
jiri@resnulli.us, nicolas.dichtel@6wind.com, tgraf@suug.ch,
sfeldma@gmail.com
Subject: Re: netlink: Add netlink_bound helper and use it in netlink_getname
Date: Sat, 26 Sep 2015 16:17:56 -0400 [thread overview]
Message-ID: <20150926201756.GH3572@htj.duckdns.org> (raw)
In-Reply-To: <20150926201041.GA19187@gondor.apana.org.au>
Hello,
On Sun, Sep 27, 2015 at 04:10:41AM +0800, Herbert Xu wrote:
> Well guess what the bug that you have discovered supposedly due to
> a missing barrier in netlink_connect has nothing to do with the
> barrier. Instead it is caused by a logical error elsewhere that
> would have gone unnoticed otherwise.
It's a combination of two problems. The garbage port number is a
logical error but there still is an ordering problem there between
->bound and ->portid. We need to test ->bind there again because of
the garbage port problem.
> So I retain my position that blindly adding barriers do not make
> bugs go away. Instead you need to have real understanding of what
That's a dishonest summary of what I've been saying.
> the code is doing and every spot where a barrier may be needed must
> be audited manually.
What I've been saying is that we do need to be careful and audit each
barrier usages but at the same time there are established patterns
that we can use to make the process significantly easier and more
reliable.
Thanks.
--
tejun
next prev parent reply other threads:[~2015-09-26 20:17 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-17 2:29 Possible netlink autobind regression Tejun Heo
2015-09-17 3:08 ` Herbert Xu
2015-09-17 3:41 ` Herbert Xu
2015-09-17 5:02 ` Cong Wang
2015-09-17 5:15 ` Herbert Xu
2015-09-17 11:25 ` Thomas Graf
2015-09-17 11:30 ` Tejun Heo
2015-09-18 6:36 ` [PATCH v3] netlink: Fix autobind race condition that leads to zero port ID Herbert Xu
2015-09-18 11:16 ` [PATCH v4] " Herbert Xu
2015-09-21 5:55 ` David Miller
2015-09-21 6:06 ` Herbert Xu
2015-09-21 6:11 ` David Miller
2015-09-21 13:34 ` netlink: Replace rhash_portid with bound Herbert Xu
2015-09-21 18:20 ` Tejun Heo
2015-09-22 3:38 ` [PATCH v2] " Herbert Xu
2015-09-22 16:10 ` Tejun Heo
2015-09-22 18:42 ` Linus Torvalds
2015-09-22 18:53 ` Tejun Heo
2015-09-22 19:28 ` Linus Torvalds
2015-09-22 19:50 ` Tejun Heo
2015-09-22 20:03 ` Linus Torvalds
2015-09-22 20:36 ` Bjørn Mork
2015-09-22 21:04 ` Linus Torvalds
2015-09-23 6:13 ` Herbert Xu
2015-09-23 15:54 ` Tejun Heo
2015-09-24 2:30 ` Herbert Xu
2015-09-24 2:46 ` Tejun Heo
2015-09-24 2:54 ` Herbert Xu
2015-09-24 3:06 ` Tejun Heo
2015-09-24 3:21 ` Herbert Xu
2015-09-24 3:29 ` Tejun Heo
2015-09-24 3:31 ` Herbert Xu
2015-09-24 3:41 ` Tejun Heo
2015-09-24 3:42 ` Herbert Xu
2015-09-24 3:43 ` Tejun Heo
2015-09-24 3:44 ` Herbert Xu
2015-09-24 19:11 ` David Miller
2015-09-24 20:05 ` Tejun Heo
2015-09-25 1:43 ` netlink: Add barrier to netlink_connect for theoretical case Herbert Xu
2015-09-25 3:24 ` Linus Torvalds
2015-09-25 3:39 ` Herbert Xu
2015-09-25 15:09 ` Tejun Heo
2015-09-25 15:01 ` Tejun Heo
2015-09-26 13:16 ` netlink: Add netlink_bound helper and use it in netlink_getname Herbert Xu
2015-09-26 18:09 ` Tejun Heo
2015-09-26 19:41 ` Herbert Xu
2015-09-26 19:45 ` Tejun Heo
2015-09-26 19:49 ` Herbert Xu
2015-09-26 19:52 ` Tejun Heo
2015-09-26 19:55 ` Herbert Xu
2015-09-26 20:05 ` Tejun Heo
2015-09-26 20:10 ` Herbert Xu
2015-09-26 20:17 ` Tejun Heo [this message]
2015-09-21 20:52 ` [PATCH] netlink: Replace rhash_portid with load_acquire protected boolean Tejun Heo
2015-09-18 13:37 ` [PATCH v3] netlink: Fix autobind race condition that leads to zero port ID Tejun Heo
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=20150926201756.GH3572@htj.duckdns.org \
--to=tj@kernel.org \
--cc=cwang@twopensource.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=jiri@resnulli.us \
--cc=kafai@fb.com \
--cc=kernel-team@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nicolas.dichtel@6wind.com \
--cc=sfeldma@gmail.com \
--cc=tgraf@suug.ch \
--cc=tom@herbertland.com \
--cc=torvalds@linux-foundation.org \
/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;
as well as URLs for NNTP newsgroup(s).