[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20161119.221006.1392183968931512666.davem@davemloft.net>
Date: Sat, 19 Nov 2016 22:10:06 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: g.nault@...halink.fr
Cc: netdev@...r.kernel.org, jchapman@...alix.com, celston@...alix.com,
sploving1@...il.com, andreyknvl@...gle.com
Subject: Re: [PATCH net] l2tp: fix racy SOCK_ZAPPED flag check in
l2tp_ip{,6}_bind()
From: Guillaume Nault <g.nault@...halink.fr>
Date: Fri, 18 Nov 2016 22:13:00 +0100
> Lock socket before checking the SOCK_ZAPPED flag in l2tp_ip6_bind().
> Without lock, a concurrent call could modify the socket flags between
> the sock_flag(sk, SOCK_ZAPPED) test and the lock_sock() call. This way,
> a socket could be inserted twice in l2tp_ip6_bind_table. Releasing it
> would then leave a stale pointer there, generating use-after-free
> errors when walking through the list or modifying adjacent entries.
...
> The same issue exists with l2tp_ip_bind() and l2tp_ip_bind_table.
>
> Fixes: c51ce49735c1 ("l2tp: fix oops in L2TP IP sockets for connect() AF_UNSPEC case")
> Reported-by: Baozeng Ding <sploving1@...il.com>
> Reported-by: Andrey Konovalov <andreyknvl@...gle.com>
> Tested-by: Baozeng Ding <sploving1@...il.com>
> Signed-off-by: Guillaume Nault <g.nault@...halink.fr>
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists