gianfar: Use kmemdup rather than duplicating its implementation
authorThomas Meyer <thomas@m3y3r.de>
Thu, 17 Nov 2011 13:05:35 +0000 (13:05 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 Nov 2011 20:02:36 +0000 (15:02 -0500)
The semantic patch that makes this change is available
in scripts/coccinelle/api/memdup.cocci.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/gianfar_ethtool.c

index 1ea0eb9ee6438390f888926a951b870fc0d8ec2f..5890f4b0c0da2df08372127b01897338469cf05c 100644 (file)
@@ -1410,10 +1410,9 @@ static int gfar_optimize_filer_masks(struct filer_table *tab)
 
        /* We need a copy of the filer table because
         * we want to change its order */
-       temp_table = kmalloc(sizeof(*temp_table), GFP_KERNEL);
+       temp_table = kmemdup(tab, sizeof(*temp_table), GFP_KERNEL);
        if (temp_table == NULL)
                return -ENOMEM;
-       memcpy(temp_table, tab, sizeof(*temp_table));
 
        mask_table = kcalloc(MAX_FILER_CACHE_IDX / 2 + 1,
                        sizeof(struct gfar_mask_entry), GFP_KERNEL);