net/xfrm: use kmemdup rather than duplicating its implementation
authorAndrzej Hajda <a.hajda@samsung.com>
Fri, 7 Aug 2015 07:59:34 +0000 (09:59 +0200)
committerSteffen Klassert <steffen.klassert@secunet.com>
Tue, 11 Aug 2015 10:41:35 +0000 (12:41 +0200)
The patch was generated using fixed coccinelle semantic patch
scripts/coccinelle/api/memdup.cocci [1].

[1]: http://permalink.gmane.org/gmane.linux.kernel/2014320

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_user.c

index 0cebf1fc37a2743ba096747056fab6c927922b23..a8de9e3002000d7eaa76f6764797e5b231d187ff 100644 (file)
@@ -925,12 +925,10 @@ static int xfrm_dump_sa(struct sk_buff *skb, struct netlink_callback *cb)
                        return err;
 
                if (attrs[XFRMA_ADDRESS_FILTER]) {
-                       filter = kmalloc(sizeof(*filter), GFP_KERNEL);
+                       filter = kmemdup(nla_data(attrs[XFRMA_ADDRESS_FILTER]),
+                                        sizeof(*filter), GFP_KERNEL);
                        if (filter == NULL)
                                return -ENOMEM;
-
-                       memcpy(filter, nla_data(attrs[XFRMA_ADDRESS_FILTER]),
-                              sizeof(*filter));
                }
 
                if (attrs[XFRMA_PROTO])