]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitdc33e21d0e364b4d88a3536fb0340467c3692d49
tree79e18d6284494ab63a890885b0eecce9431a9597
parente46ac4b2d267ae244696625ca8e60132203bd574
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