net: Fix percpu counters deadlock
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 30 Dec 2008 07:04:08 +0000 (23:04 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Dec 2008 07:04:08 +0000 (23:04 -0800)
commiteb4dea5853046727bfbb579f0c9a8cae7369f7c6
tree79e18d6284494ab63a890885b0eecce9431a9597
parent0f23174aa8c1aa7a2a6050a72a60d290ef9ee578
net: Fix percpu counters deadlock

When we converted the protocol atomic counters such as the orphan
count and the total socket count deadlocks were introduced due to
the mismatch in BH status of the spots that used the percpu counter
operations.

Based on the diagnosis and patch by Peter Zijlstra, this patch
fixes these issues by disabling BH where we may be in process
context.

Reported-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dccp/proto.c
net/ipv4/inet_connection_sock.c
net/ipv4/proc.c
net/ipv4/tcp.c
net/ipv4/tcp_ipv4.c
net/ipv6/tcp_ipv6.c