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

Commit 777c6ae5 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

tcp: two more missing bh disable



percpu_counter only have protection against preemption.

TCP stack uses them possibly from BH, so we need BH protection
in contexts that could be run in process context

Fixes: c10d9310 ("tcp: do not assume TCP code is non preemptible")
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent aa8a8b05
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -706,7 +706,9 @@ void inet_csk_destroy_sock(struct sock *sk)

	sk_refcnt_debug_release(sk);

	local_bh_disable();
	percpu_counter_dec(sk->sk_prot->orphan_count);
	local_bh_enable();
	sock_put(sk);
}
EXPORT_SYMBOL(inet_csk_destroy_sock);
+2 −0
Original line number Diff line number Diff line
@@ -1839,7 +1839,9 @@ void tcp_v4_destroy_sock(struct sock *sk)
	tcp_free_fastopen_req(tp);
	tcp_saved_syn_free(tp);

	local_bh_disable();
	sk_sockets_allocated_dec(sk);
	local_bh_enable();

	if (mem_cgroup_sockets_enabled && sk->sk_memcg)
		sock_release_memcg(sk);