]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'l2tp-session-creation-fixes'
authorDavid S. Miller <davem@davemloft.net>
Sun, 3 Sep 2017 18:04:21 +0000 (11:04 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 3 Sep 2017 18:04:21 +0000 (11:04 -0700)
commitcfa78433258e5b212f63d677e1d4d1541cdacdde
tree7dfc0aa94822a5d36f1f63f2e07fa7dae339a6c2
parent5a71a5a156d0ba6834d4410a0fe081439acdbe89
parent12f78a07d4b6cfbd51ae18de0eb15dbb5846b73b
Merge branch 'l2tp-session-creation-fixes'

Guillaume Nault says:

====================
l2tp: session creation fixes

The session creation process has a few issues wrt. concurrent tunnel
deletion.

Patch #1 avoids creating sessions in tunnels that are getting removed.
This prevents races where sessions could try to take tunnel resources
that were already released.

Patch #2 removes some racy l2tp_tunnel_find() calls in session creation
callbacks. Together with path #1 it ensures that sessions can only
access tunnel resources that are guaranteed to remain valid during the
session creation process.

There are other problems with how sessions are created: pseudo-wire
specific data are set after the session is added to the tunnel. So
the session can be used, or deleted, before it has been completely
initialised. Separating session allocation from session registration
would be necessary, but we'd still have circular dependencies
preventing race-free registration. I'll consider this issue in future
series.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>