From: Tejun Heo <tj@kernel.org>
To: David Miller <davem@davemloft.net>
Cc: herbert@gondor.apana.org.au, 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: [PATCH v2] netlink: Replace rhash_portid with bound
Date: Thu, 24 Sep 2015 16:05:10 -0400 [thread overview]
Message-ID: <20150924200510.GE25415@mtj.duckdns.org> (raw)
In-Reply-To: <20150924.121142.870602292135442487.davem@davemloft.net>
Hello, David.
On Thu, Sep 24, 2015 at 12:11:42PM -0700, David Miller wrote:
> From: Herbert Xu <herbert@gondor.apana.org.au>
> Date: Tue, 22 Sep 2015 11:38:56 +0800
>
> > The commit 1f770c0a09da855a2b51af6d19de97fb955eca85 ("netlink:
> > Fix autobind race condition that leads to zero port ID") created
> > some new races that can occur due to inconcsistencies between the
> > two port IDs.
...
> I've decided to apply this and queue it up for -stable.
This is mostly correct; however, if there are or can be in-kernel
users which create the client side of netlink socket, it isn't. Let's
say such in-kernel user does kernel_connect() and then query the
assigned port number by kernel_getsockname(). That can just return
zero. Maybe such scenario is not possible for some combination of
reasons but why leak this level of synchronization detail to the users
in the first place? This should be terminated from the site where
such synchronization scheme is implemented. This expands the scope of
correctness verification to all possible users of these functions.
Thanks.
--
tejun
next prev parent reply other threads:[~2015-09-24 20:05 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 [this message]
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
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=20150924200510.GE25415@mtj.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).