mbox series

[net,0/2] l2tp: tunnel creation fixes

Message ID cover.1523385906.git.g.nault@alphalink.fr
Headers show
Series l2tp: tunnel creation fixes | expand

Message

Guillaume Nault April 10, 2018, 7:01 p.m. UTC
L2TP tunnel creation is racy. We need to make sure that the tunnel
returned by l2tp_tunnel_create() isn't going to be freed while the
caller is using it. This is done in patch #1, by separating tunnel
creation from tunnel registration.

With the tunnel registration code in place, we can now check for
duplicate tunnels in a race-free way. This is done in patch #2, which
incidentally removes the last use of l2tp_tunnel_find().

Guillaume Nault (2):
  l2tp: fix races in tunnel creation
  l2tp: fix race in duplicate tunnel detection

 net/l2tp/l2tp_core.c    | 225 +++++++++++++++++-----------------------
 net/l2tp/l2tp_core.h    |   4 +-
 net/l2tp/l2tp_netlink.c |  22 ++--
 net/l2tp/l2tp_ppp.c     |   9 ++
 4 files changed, 123 insertions(+), 137 deletions(-)

Comments

David Miller April 11, 2018, 9:42 p.m. UTC | #1
From: Guillaume Nault <g.nault@alphalink.fr>
Date: Tue, 10 Apr 2018 21:01:07 +0200

> L2TP tunnel creation is racy. We need to make sure that the tunnel
> returned by l2tp_tunnel_create() isn't going to be freed while the
> caller is using it. This is done in patch #1, by separating tunnel
> creation from tunnel registration.
> 
> With the tunnel registration code in place, we can now check for
> duplicate tunnels in a race-free way. This is done in patch #2, which
> incidentally removes the last use of l2tp_tunnel_find().

Series applied and queued up for -stable, thanks.