]> git.baikalelectronics.ru Git - kernel.git/commit
net: sk_free() should be allowed right after sk_alloc()
authorJarek Poplawski <jarkao2@gmail.com>
Sun, 30 Aug 2009 23:15:36 +0000 (23:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Sep 2009 00:49:00 +0000 (17:49 -0700)
commit3df9355cfebcef0f74b631a6d020cec3e6d2ff0f
tree3367ebb2757501223ae658b23a96f352aa6ebba8
parentf046ec810336d3d4831fcaf2a78462bc3256ac47
net: sk_free() should be allowed right after sk_alloc()

After commit 8514b872147d26cd511dd91bc60a80259f008c50
(net: No more expensive sock_hold()/sock_put() on each tx)
sk_free() frees socks conditionally and depends
on sk_wmem_alloc being set e.g. in sock_init_data(). But in some
cases sk_free() is called earlier, usually after other alloc errors.

Fix is to move sk_wmem_alloc initialization from sock_init_data()
to sk_alloc() itself.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/sock.c