Commit 2cd0afc6 authored by Paul Hüber's avatar Paul Hüber Committed by Greg Kroah-Hartman

l2tp: avoid use-after-free caused by l2tp_ip_backlog_recv

[ 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>
parent 354f7912
...@@ -383,7 +383,7 @@ static int l2tp_ip_backlog_recv(struct sock *sk, struct sk_buff *skb) ...@@ -383,7 +383,7 @@ static int l2tp_ip_backlog_recv(struct sock *sk, struct sk_buff *skb)
drop: drop:
IP_INC_STATS(sock_net(sk), IPSTATS_MIB_INDISCARDS); IP_INC_STATS(sock_net(sk), IPSTATS_MIB_INDISCARDS);
kfree_skb(skb); kfree_skb(skb);
return -1; return 0;
} }
/* Userspace will call sendmsg() on the tunnel socket to send L2TP /* 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