]> git.baikalelectronics.ru Git - kernel.git/commit
l2tp: fix a sock refcnt leak in l2tp_tunnel_register
authorXin Long <lucien.xin@gmail.com>
Mon, 12 Nov 2018 17:08:25 +0000 (01:08 +0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Nov 2018 06:49:31 +0000 (22:49 -0800)
commit706e804a749a8fb13b43b4fe6cf1285bf65f3245
treec49fba072a648b622d149a1d47d2379a2d2cb439
parent88b7c637d01494ee701d88b4819b2a4c67c071d8
l2tp: fix a sock refcnt leak in l2tp_tunnel_register

This issue happens when trying to add an existent tunnel. It
doesn't call sock_put() before returning -EEXIST to release
the sock refcnt that was held by calling sock_hold() before
the existence check.

This patch is to fix it by holding the sock after doing the
existence check.

Fixes: 150630e3cf5d ("l2tp: fix race in duplicate tunnel detection")
Reported-by: Jianlin Shi <jishi@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Reviewed-by: Guillaume Nault <g.nault@alphalink.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/l2tp/l2tp_core.c