vti6: Fix memory leak of skb if input policy check fails
commit2a9de3af21
upstream. The vti6_rcv function performs some tests on the retrieved tunnel including checking the IP protocol, the XFRM input policy, the source and destination address. In all but one places the skb is released in the error case. When the input policy check fails the network packet is leaked. Using the same goto-label discard in this case to fix this problem. Fixes:ed1efb2aef
("ipv6: Add support for IPsec virtual tunnel interfaces") Signed-off-by: Torsten Hilbrich <torsten.hilbrich@secunet.com> Reviewed-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9c4f1506b4
commit
d8166d4b42
|
@ -311,7 +311,7 @@ static int vti6_rcv(struct sk_buff *skb)
|
|||
|
||||
if (!xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) {
|
||||
rcu_read_unlock();
|
||||
return 0;
|
||||
goto discard;
|
||||
}
|
||||
|
||||
ipv6h = ipv6_hdr(skb);
|
||||
|
|
Loading…
Reference in New Issue