]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/hid/uhid.c
Merge tag 'arc-v3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
[karo-tx-linux.git] / drivers / hid / uhid.c
index 0d078c32db4f20cce7c6bf57bfeb0b96e4ba2ec7..0cb92e3472589d7a6260fbdd0a9d4e308d165d74 100644 (file)
@@ -441,12 +441,11 @@ static int uhid_dev_create2(struct uhid_device *uhid,
        if (uhid->rd_size <= 0 || uhid->rd_size > HID_MAX_DESCRIPTOR_SIZE)
                return -EINVAL;
 
-       uhid->rd_data = kmalloc(uhid->rd_size, GFP_KERNEL);
+       uhid->rd_data = kmemdup(ev->u.create2.rd_data, uhid->rd_size,
+                               GFP_KERNEL);
        if (!uhid->rd_data)
                return -ENOMEM;
 
-       memcpy(uhid->rd_data, ev->u.create2.rd_data, uhid->rd_size);
-
        hid = hid_allocate_device();
        if (IS_ERR(hid)) {
                ret = PTR_ERR(hid);