summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2007-11-01 08:34:42 +0100
committerDavid S. Miller <davem@davemloft.net>2007-11-01 08:34:42 +0100
commit3f0666ee3039443fa7b7cf436dd16ce0dd8e3f95 (patch)
tree2d2eb78ad66f312fc85ab9c6a009207535d736ed /net
parent[NET]: Cleanup the allocation/freeing of the sock object (diff)
downloadlinux-3f0666ee3039443fa7b7cf436dd16ce0dd8e3f95.tar.xz
linux-3f0666ee3039443fa7b7cf436dd16ce0dd8e3f95.zip
[NET]: Auto-zero the allocated sock object
We have a __GFP_ZERO flag that allocates a zeroed chunk of memory. Use it in the sk_alloc() and avoid a hand-made memset(). This is a temporary patch that will help us in the nearest future :) Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/core/sock.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/core/sock.c b/net/core/sock.c
index 6ee2ed104a83..b66f607fcb96 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -908,10 +908,12 @@ struct sock *sk_alloc(struct net *net, int family, gfp_t priority,
{
struct sock *sk;
+ if (zero_it)
+ priority |= __GFP_ZERO;
+
sk = sk_prot_alloc(prot, priority);
if (sk) {
if (zero_it) {
- memset(sk, 0, prot->obj_size);
sk->sk_family = family;
/*
* See comment in struct sock definition to understand