l2tp: hold tunnel while handling genl TUNNEL_GET commands
authorGuillaume Nault <g.nault@alphalink.fr>
Fri, 25 Aug 2017 14:51:43 +0000 (16:51 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Aug 2017 18:34:58 +0000 (11:34 -0700)
commit4e4b21da3acc68a7ea55f850cacc13706b7480e9
tree6ddf36276df7ea036ca7fe77b354af690f5cc7d0
parent8c0e421525c9eb50d68e8f633f703ca31680b746
l2tp: hold tunnel while handling genl TUNNEL_GET commands

Use l2tp_tunnel_get() instead of l2tp_tunnel_find() so that we get
a reference on the tunnel, preventing l2tp_tunnel_destruct() from
freeing it from under us.

Also move l2tp_tunnel_get() below nlmsg_new() so that we only take
the reference when needed.

Fixes: 309795f4bec2 ("l2tp: Add netlink control API for L2TP")
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/l2tp/l2tp_netlink.c