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

Commit d013ef2a authored by Julian Anastasov's avatar Julian Anastasov Committed by David S. Miller
Browse files

tcp: fix possible socket refcount problem for ipv6



commit 144d56e9
("tcp: fix possible socket refcount problem") is missing
the IPv6 part. As tcp_release_cb is shared by both protocols
we should hold sock reference for the TCP_MTU_REDUCED_DEFERRED
bit.

Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
Acked-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 463dde19
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -403,8 +403,9 @@ static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
		tp->mtu_info = ntohl(info);
		if (!sock_owned_by_user(sk))
			tcp_v6_mtu_reduced(sk);
		else
			set_bit(TCP_MTU_REDUCED_DEFERRED, &tp->tsq_flags);
		else if (!test_and_set_bit(TCP_MTU_REDUCED_DEFERRED,
					   &tp->tsq_flags))
			sock_hold(sk);
		goto out;
	}