From: Al Viro <viro@ZenIV.linux.org.uk>
To: Cong Wang <xiyou.wangcong@gmail.com>
Cc: Dmitry Vyukov <dvyukov@google.com>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
David Miller <davem@davemloft.net>,
Rainer Weikusat <rweikusat@mobileactivedefense.com>,
Hannes Frederic Sowa <hannes@stressinduktion.org>,
netdev <netdev@vger.kernel.org>,
Eric Dumazet <edumazet@google.com>,
syzkaller <syzkaller@googlegroups.com>
Subject: Re: fs, net: deadlock between bind/splice on af_unix
Date: Fri, 9 Dec 2016 06:41:44 +0000 [thread overview]
Message-ID: <20161209064144.GZ1555@ZenIV.linux.org.uk> (raw)
In-Reply-To: <CAM_iQpXjeG5=wZyQP-yOKcB4WRfgGRjeQ+NDHyeSWwdU50Xh5g@mail.gmail.com>
On Thu, Dec 08, 2016 at 10:32:00PM -0800, Cong Wang wrote:
> > Why do we do autobind there, anyway, and why is it conditional on
> > SOCK_PASSCRED? Note that e.g. for SOCK_STREAM we can bloody well get
> > to sending stuff without autobind ever done - just use socketpair()
> > to create that sucker and we won't be going through the connect()
> > at all.
>
> In the case Dmitry reported, unix_dgram_sendmsg() calls unix_autobind(),
> not SOCK_STREAM.
Yes, I've noticed. What I'm asking is what in there needs autobind triggered
on sendmsg and why doesn't the same need affect the SOCK_STREAM case?
> I guess some lock, perhaps the u->bindlock could be dropped before
> acquiring the next one (sb_writer), but I need to double check.
Bad idea, IMO - do you *want* autobind being able to come through while
bind(2) is busy with mknod?
next prev parent reply other threads:[~2016-12-09 6:41 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-08 14:47 fs, net: deadlock between bind/splice on af_unix Dmitry Vyukov
2016-12-08 16:30 ` Dmitry Vyukov
2016-12-09 0:08 ` Cong Wang
2016-12-09 1:32 ` Al Viro
2016-12-09 6:32 ` Cong Wang
2016-12-09 6:41 ` Al Viro [this message]
2017-01-16 9:32 ` Dmitry Vyukov
2017-01-17 21:21 ` Cong Wang
2017-01-18 9:17 ` Dmitry Vyukov
2017-01-20 4:57 ` Cong Wang
2017-01-20 22:52 ` Dmitry Vyukov
2017-01-23 19:00 ` Cong Wang
2017-01-26 23:29 ` Mateusz Guzik
2017-01-27 5:11 ` Cong Wang
2017-01-27 6:41 ` Mateusz Guzik
2017-01-31 6:44 ` Cong Wang
2017-01-31 18:14 ` Mateusz Guzik
2017-02-06 7:22 ` Cong Wang
2017-02-07 14:20 ` Mateusz Guzik
2017-02-10 1:37 ` Cong Wang
2017-01-17 8:07 ` Eric W. Biederman
[not found] ` <065031f0-27c5-443d-82f9-2f475fcef8c3@googlegroups.com>
2017-06-23 16:30 ` Cong Wang
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=20161209064144.GZ1555@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=davem@davemloft.net \
--cc=dvyukov@google.com \
--cc=edumazet@google.com \
--cc=hannes@stressinduktion.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=rweikusat@mobileactivedefense.com \
--cc=syzkaller@googlegroups.com \
--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.