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

Commit 81419d86 authored by Vlad Yasevich's avatar Vlad Yasevich Committed by David S. Miller
Browse files

sctp: per_cpu variables should be in bh_disabled section



Since the change of the atomics to percpu variables, we now
have to disable BH in process context when touching percpu variables.

Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0c42749c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3719,12 +3719,12 @@ SCTP_STATIC int sctp_init_sock(struct sock *sk)
	sp->hmac = NULL;

	SCTP_DBG_OBJCNT_INC(sock);
	percpu_counter_inc(&sctp_sockets_allocated);

	/* Set socket backlog limit. */
	sk->sk_backlog.limit = sysctl_sctp_rmem[1];

	local_bh_disable();
	percpu_counter_inc(&sctp_sockets_allocated);
	sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);
	local_bh_enable();

@@ -3741,8 +3741,8 @@ SCTP_STATIC void sctp_destroy_sock(struct sock *sk)
	/* Release our hold on the endpoint. */
	ep = sctp_sk(sk)->ep;
	sctp_endpoint_free(ep);
	percpu_counter_dec(&sctp_sockets_allocated);
	local_bh_disable();
	percpu_counter_dec(&sctp_sockets_allocated);
	sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);
	local_bh_enable();
}