misc/vmw_vmci: use kmemdup rather than duplicating its implementation
authorAndrzej Hajda <a.hajda@samsung.com>
Fri, 7 Aug 2015 07:59:21 +0000 (09:59 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 21 Sep 2015 02:27:58 +0000 (19:27 -0700)
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/vmw_vmci/vmci_datagram.c

index 822665245588767bbbabc0cf3b4a4c47c4f044e3..8a4b6bbe1beedd35a547dc01516526f01c7088fc 100644 (file)
@@ -276,11 +276,10 @@ static int dg_dispatch_as_host(u32 context_id, struct vmci_datagram *dg)
                }
 
                /* We make a copy to enqueue. */
-               new_dg = kmalloc(dg_size, GFP_KERNEL);
+               new_dg = kmemdup(dg, dg_size, GFP_KERNEL);
                if (new_dg == NULL)
                        return VMCI_ERROR_NO_MEM;
 
-               memcpy(new_dg, dg, dg_size);
                retval = vmci_ctx_enqueue_datagram(dg->dst.context, new_dg);
                if (retval < VMCI_SUCCESS) {
                        kfree(new_dg);