net: sk_wmem_alloc has initial value of one, not zero
authorEric Dumazet <eric.dumazet@gmail.com>
Tue, 16 Jun 2009 10:12:03 +0000 (10:12 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 17 Jun 2009 11:31:25 +0000 (04:31 -0700)
commitc564039fd83ea16a86a96d52632794b24849e507
tree42c9f525d08ea2e7d36c0231cc628587a175a39b
parent1d4ac5d5ef9dd965ae211ebe8acbf83dc4d9571b
net: sk_wmem_alloc has initial value of one, not zero

commit 2b85a34e911bf483c27cfdd124aeb1605145dc80
(net: No more expensive sock_hold()/sock_put() on each tx)
changed initial sk_wmem_alloc value.

Some protocols check sk_wmem_alloc value to determine if a timer
must delay socket deallocation. We must take care of the sk_wmem_alloc
value being one instead of zero when no write allocations are pending.

Reported by Ingo Molnar, and full diagnostic from David Miller.

This patch introduces three helpers to get read/write allocations
and a followup patch will use these helpers to report correct
write allocations to user.

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sock.h
net/appletalk/ddp.c
net/ax25/af_ax25.c
net/econet/af_econet.c
net/netrom/af_netrom.c
net/rose/af_rose.c
net/x25/af_x25.c