Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 50656d9d authored by Calvin Owens's avatar Calvin Owens Committed by Simon Horman
Browse files

ipvs: Keep skb->sk when allocating headroom on tunnel xmit



ip_vs_prepare_tunneled_skb() ignores ->sk when allocating a new
skb, either unconditionally setting ->sk to NULL or allowing
the uninitialized ->sk from a newly allocated skb to leak through
to the caller.

This patch properly copies ->sk and increments its reference count.

Signed-off-by: default avatarCalvin Owens <calvinowens@fb.com>
Acked-by: default avatarJulian Anastasov <ja@ssi.bg>
Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
parent 2196937e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -846,6 +846,8 @@ ip_vs_prepare_tunneled_skb(struct sk_buff *skb, int skb_af,
		new_skb = skb_realloc_headroom(skb, max_headroom);
		if (!new_skb)
			goto error;
		if (skb->sk)
			skb_set_owner_w(new_skb, skb->sk);
		consume_skb(skb);
		skb = new_skb;
	}