X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=net%2Fdecnet%2Fdn_dev.c;h=5b451e196fb963eea62b333db6c2e42da5ac0cce;hb=c66b721a502cbbc15be8bd7c79c305fa40f1e6ce;hp=01861feb608dbbc8fe38dd2c3b65da3718205b9b;hpb=12e36b2f41b6cbc67386fcb9c59c32a3e2033905;p=linux-2.6 diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c index 01861feb60..5b451e196f 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 * struct dn_dev_sysctl_table *t; int i; - t = kmalloc(sizeof(*t), GFP_KERNEL); + t = kmemdup(&dn_dev_sysctl, sizeof(*t), GFP_KERNEL); if (t == NULL) return; - memcpy(t, &dn_dev_sysctl, sizeof(*t)); - for(i = 0; i < ARRAY_SIZE(t->dn_dev_vars) - 1; i++) { long offset = (long)t->dn_dev_vars[i].data; t->dn_dev_vars[i].data = ((char *)parms) + offset;