Commit 8b8c0da5 authored by Paul Hüber's avatar Paul Hüber Committed by Thadeu Lima de Souza Cascardo

l2tp: avoid use-after-free caused by l2tp_ip_backlog_recv

BugLink: http://bugs.launchpad.net/bugs/1675789

[ Upstream commit 51fb60eb ]

l2tp_ip_backlog_recv may not return -1 if the packet gets dropped.
The return value is passed up to ip_local_deliver_finish, which treats
negative values as an IP protocol number for resubmission.
Signed-off-by: default avatarPaul Hüber <phueber@kernsp.in>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarTim Gardner <tim.gardner@canonical.com>
Signed-off-by: default avatarThadeu Lima de Souza Cascardo <cascardo@canonical.com>
parent a3ba3dfc
......@@ -383,7 +383,7 @@ static int l2tp_ip_backlog_recv(struct sock *sk, struct sk_buff *skb)
drop:
IP_INC_STATS(sock_net(sk), IPSTATS_MIB_INDISCARDS);
kfree_skb(skb);
return -1;
return 0;
}
/* Userspace will call sendmsg() on the tunnel socket to send L2TP
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment