diff options
-rw-r--r-- | net/decnet/dn_dev.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c index 01861feb608d..5b451e196fb9 100644 --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c | |||
@@ -255,12 +255,10 @@ static void dn_dev_sysctl_register(struct net_device *dev, struct dn_dev_parms * | |||
255 | struct dn_dev_sysctl_table *t; | 255 | struct dn_dev_sysctl_table *t; |
256 | int i; | 256 | int i; |
257 | 257 | ||
258 | t = kmalloc(sizeof(*t), GFP_KERNEL); | 258 | t = kmemdup(&dn_dev_sysctl, sizeof(*t), GFP_KERNEL); |
259 | if (t == NULL) | 259 | if (t == NULL) |
260 | return; | 260 | return; |
261 | 261 | ||
262 | memcpy(t, &dn_dev_sysctl, sizeof(*t)); | ||
263 | |||
264 | for(i = 0; i < ARRAY_SIZE(t->dn_dev_vars) - 1; i++) { | 262 | for(i = 0; i < ARRAY_SIZE(t->dn_dev_vars) - 1; i++) { |
265 | long offset = (long)t->dn_dev_vars[i].data; | 263 | long offset = (long)t->dn_dev_vars[i].data; |
266 | t->dn_dev_vars[i].data = ((char *)parms) + offset; | 264 | t->dn_dev_vars[i].data = ((char *)parms) + offset; |