diff --git a/[refs] b/[refs] index 1cd7ee8cec3a..bd3a5611f43a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fac5d7315126f4b6745a8565c3a875617e02f8b8 +refs/heads/master: 42e5ea466c1897c4ac2e3b4fe0b33a28e9e3d5de diff --git a/trunk/net/ipv4/devinet.c b/trunk/net/ipv4/devinet.c index a1b356c8aa59..2fd899160f85 100644 --- a/trunk/net/ipv4/devinet.c +++ b/trunk/net/ipv4/devinet.c @@ -1564,12 +1564,12 @@ static void devinet_sysctl_register(struct in_device *in_dev, { int i; struct net_device *dev = in_dev ? in_dev->dev : NULL; - struct devinet_sysctl_table *t = kmalloc(sizeof(*t), GFP_KERNEL); + struct devinet_sysctl_table *t = kmemdup(&devinet_sysctl, sizeof(*t), + GFP_KERNEL); char *dev_name = NULL; if (!t) return; - memcpy(t, &devinet_sysctl, sizeof(*t)); for (i = 0; i < ARRAY_SIZE(t->devinet_vars) - 1; i++) { t->devinet_vars[i].data += (char *)p - (char *)&ipv4_devconf; t->devinet_vars[i].de = NULL;