From: Eric Dumazet Date: Tue, 28 Jul 2009 02:36:15 +0000 (+0000) Subject: net: net_assign_generic() fix X-Git-Tag: v2.6.27.34~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=52238af23c7afb11cad5978f0434036f494f1b00;p=thirdparty%2Fkernel%2Fstable.git net: net_assign_generic() fix [ Upstream commit 144586301f6af5ae5943a002f030d8c626fa4fdd ] memcpy() should take into account size of pointers, not only number of pointers to copy. Signed-off-by: Eric Dumazet Acked-by: Pavel Emelyanov Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c index 7c52fe277b624..656f6fb01160b 100644 --- a/net/core/net_namespace.c +++ b/net/core/net_namespace.c @@ -446,7 +446,7 @@ int net_assign_generic(struct net *net, int id, void *data) ng->len = id; INIT_RCU_HEAD(&ng->rcu); - memcpy(&ng->ptr, &old_ng->ptr, old_ng->len); + memcpy(&ng->ptr, &old_ng->ptr, old_ng->len * sizeof(void*)); rcu_assign_pointer(net->gen, ng); call_rcu(&old_ng->rcu, net_generic_release);