aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/comedi/drivers/usbdux.c3
-rw-r--r--drivers/staging/comedi/drivers/usbduxfast.c3
-rw-r--r--drivers/staging/hv/vmbus.c3
-rw-r--r--drivers/staging/line6/dumprequest.c3
-rw-r--r--drivers/staging/line6/pod.c6
-rw-r--r--drivers/staging/line6/variax.c5
-rw-r--r--drivers/staging/pohmelfs/config.c16
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c4
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c3
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c4
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_wx.c3
-rw-r--r--drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c4
-rw-r--r--drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c3
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c7
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c3
-rw-r--r--drivers/staging/usbip/stub_rx.c4
16 files changed, 29 insertions, 45 deletions
diff --git a/drivers/staging/comedi/drivers/usbdux.c b/drivers/staging/comedi/drivers/usbdux.c
index df71515c7a3..86f035d0067 100644
--- a/drivers/staging/comedi/drivers/usbdux.c
+++ b/drivers/staging/comedi/drivers/usbdux.c
@@ -840,13 +840,12 @@ static int firmwareUpload(struct usbduxsub *usbduxsub,
840 } 840 }
841 841
842 /* we generate a local buffer for the firmware */ 842 /* we generate a local buffer for the firmware */
843 fwBuf = kzalloc(sizeFirmware, GFP_KERNEL); 843 fwBuf = kmemdup(firmwareBinary, sizeFirmware, GFP_KERNEL);
844 if (!fwBuf) { 844 if (!fwBuf) {
845 dev_err(&usbduxsub->interface->dev, 845 dev_err(&usbduxsub->interface->dev,
846 "comedi_: mem alloc for firmware failed\n"); 846 "comedi_: mem alloc for firmware failed\n");
847 return -ENOMEM; 847 return -ENOMEM;
848 } 848 }
849 memcpy(fwBuf, firmwareBinary, sizeFirmware);
850 849
851 ret = usbduxsub_stop(usbduxsub); 850 ret = usbduxsub_stop(usbduxsub);
852 if (ret < 0) { 851 if (ret < 0) {
diff --git a/drivers/staging/comedi/drivers/usbduxfast.c b/drivers/staging/comedi/drivers/usbduxfast.c
index 0d72c416e73..29c3c016b93 100644
--- a/drivers/staging/comedi/drivers/usbduxfast.c
+++ b/drivers/staging/comedi/drivers/usbduxfast.c
@@ -1368,13 +1368,12 @@ static int firmwareUpload(struct usbduxfastsub_s *usbduxfastsub,
1368 } 1368 }
1369 1369
1370 /* we generate a local buffer for the firmware */ 1370 /* we generate a local buffer for the firmware */
1371 fwBuf = kzalloc(sizeFirmware, GFP_KERNEL); 1371 fwBuf = kmemdup(firmwareBinary, sizeFirmware, GFP_KERNEL);
1372 if (!fwBuf) { 1372 if (!fwBuf) {
1373 dev_err(&usbduxfastsub->interface->dev, 1373 dev_err(&usbduxfastsub->interface->dev,
1374 "comedi_: mem alloc for firmware failed\n"); 1374 "comedi_: mem alloc for firmware failed\n");
1375 return -ENOMEM; 1375 return -ENOMEM;
1376 } 1376 }
1377 memcpy(fwBuf, firmwareBinary, sizeFirmware);
1378 1377
1379 ret = usbduxfastsub_stop(usbduxfastsub); 1378 ret = usbduxfastsub_stop(usbduxfastsub);
1380 if (ret < 0) { 1379 if (ret < 0) {
diff --git a/drivers/staging/hv/vmbus.c b/drivers/staging/hv/vmbus.c
index 0a9d8459db0..007543bdb41 100644
--- a/drivers/staging/hv/vmbus.c
+++ b/drivers/staging/hv/vmbus.c
@@ -185,11 +185,10 @@ static void VmbusOnMsgDPC(struct hv_driver *drv)
185 /* no msg */ 185 /* no msg */
186 break; 186 break;
187 } else { 187 } else {
188 copied = kmalloc(sizeof(*copied), GFP_ATOMIC); 188 copied = kmemdup(msg, sizeof(*copied), GFP_ATOMIC);
189 if (copied == NULL) 189 if (copied == NULL)
190 continue; 190 continue;
191 191
192 memcpy(copied, msg, sizeof(*copied));
193 osd_schedule_callback(gVmbusConnection.WorkQueue, 192 osd_schedule_callback(gVmbusConnection.WorkQueue,
194 VmbusOnChannelMessage, 193 VmbusOnChannelMessage,
195 (void *)copied); 194 (void *)copied);
diff --git a/drivers/staging/line6/dumprequest.c b/drivers/staging/line6/dumprequest.c
index bb8c9da5803..cd468c39da5 100644
--- a/drivers/staging/line6/dumprequest.c
+++ b/drivers/staging/line6/dumprequest.c
@@ -105,10 +105,9 @@ int line6_wait_dump(struct line6_dump_request *l6dr, int nonblock)
105int line6_dumpreq_initbuf(struct line6_dump_request *l6dr, const void *buf, 105int line6_dumpreq_initbuf(struct line6_dump_request *l6dr, const void *buf,
106 size_t len, int num) 106 size_t len, int num)
107{ 107{
108 l6dr->reqbufs[num].buffer = kmalloc(len, GFP_KERNEL); 108 l6dr->reqbufs[num].buffer = kmemdup(buf, len, GFP_KERNEL);
109 if (l6dr->reqbufs[num].buffer == NULL) 109 if (l6dr->reqbufs[num].buffer == NULL)
110 return -ENOMEM; 110 return -ENOMEM;
111 memcpy(l6dr->reqbufs[num].buffer, buf, len);
112 l6dr->reqbufs[num].length = len; 111 l6dr->reqbufs[num].length = len;
113 return 0; 112 return 0;
114} 113}
diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c
index 4983f2b51cf..28f514611ab 100644
--- a/drivers/staging/line6/pod.c
+++ b/drivers/staging/line6/pod.c
@@ -1074,7 +1074,8 @@ int pod_init(struct usb_interface *interface, struct usb_line6_pod *pod)
1074 return -ENOMEM; 1074 return -ENOMEM;
1075 } 1075 }
1076 1076
1077 pod->buffer_versionreq = kmalloc(sizeof(pod_request_version), 1077 pod->buffer_versionreq = kmemdup(pod_request_version,
1078 sizeof(pod_request_version),
1078 GFP_KERNEL); 1079 GFP_KERNEL);
1079 1080
1080 if (pod->buffer_versionreq == NULL) { 1081 if (pod->buffer_versionreq == NULL) {
@@ -1083,9 +1084,6 @@ int pod_init(struct usb_interface *interface, struct usb_line6_pod *pod)
1083 return -ENOMEM; 1084 return -ENOMEM;
1084 } 1085 }
1085 1086
1086 memcpy(pod->buffer_versionreq, pod_request_version,
1087 sizeof(pod_request_version));
1088
1089 /* create sysfs entries: */ 1087 /* create sysfs entries: */
1090 err = pod_create_files2(&interface->dev); 1088 err = pod_create_files2(&interface->dev);
1091 if (err < 0) { 1089 if (err < 0) {
diff --git a/drivers/staging/line6/variax.c b/drivers/staging/line6/variax.c
index 28eb89983f3..58ddbe6393f 100644
--- a/drivers/staging/line6/variax.c
+++ b/drivers/staging/line6/variax.c
@@ -486,7 +486,8 @@ int variax_init(struct usb_interface *interface,
486 return err; 486 return err;
487 } 487 }
488 488
489 variax->buffer_activate = kmalloc(sizeof(variax_activate), GFP_KERNEL); 489 variax->buffer_activate = kmemdup(variax_activate,
490 sizeof(variax_activate), GFP_KERNEL);
490 491
491 if (variax->buffer_activate == NULL) { 492 if (variax->buffer_activate == NULL) {
492 dev_err(&interface->dev, "Out of memory\n"); 493 dev_err(&interface->dev, "Out of memory\n");
@@ -494,8 +495,6 @@ int variax_init(struct usb_interface *interface,
494 return -ENOMEM; 495 return -ENOMEM;
495 } 496 }
496 497
497 memcpy(variax->buffer_activate, variax_activate,
498 sizeof(variax_activate));
499 init_timer(&variax->activate_timer); 498 init_timer(&variax->activate_timer);
500 499
501 /* create sysfs entries: */ 500 /* create sysfs entries: */
diff --git a/drivers/staging/pohmelfs/config.c b/drivers/staging/pohmelfs/config.c
index 9fdf2de347e..8c8d1c282e7 100644
--- a/drivers/staging/pohmelfs/config.c
+++ b/drivers/staging/pohmelfs/config.c
@@ -204,18 +204,18 @@ int pohmelfs_copy_crypto(struct pohmelfs_sb *psb)
204 } 204 }
205 205
206 if (g->hash_keysize) { 206 if (g->hash_keysize) {
207 psb->hash_key = kmalloc(g->hash_keysize, GFP_KERNEL); 207 psb->hash_key = kmemdup(g->hash_key, g->hash_keysize,
208 GFP_KERNEL);
208 if (!psb->hash_key) 209 if (!psb->hash_key)
209 goto err_out_free_cipher_string; 210 goto err_out_free_cipher_string;
210 memcpy(psb->hash_key, g->hash_key, g->hash_keysize);
211 psb->hash_keysize = g->hash_keysize; 211 psb->hash_keysize = g->hash_keysize;
212 } 212 }
213 213
214 if (g->cipher_keysize) { 214 if (g->cipher_keysize) {
215 psb->cipher_key = kmalloc(g->cipher_keysize, GFP_KERNEL); 215 psb->cipher_key = kmemdup(g->cipher_key, g->cipher_keysize,
216 GFP_KERNEL);
216 if (!psb->cipher_key) 217 if (!psb->cipher_key)
217 goto err_out_free_hash; 218 goto err_out_free_hash;
218 memcpy(psb->cipher_key, g->cipher_key, g->cipher_keysize);
219 psb->cipher_keysize = g->cipher_keysize; 219 psb->cipher_keysize = g->cipher_keysize;
220 } 220 }
221 221
@@ -454,14 +454,12 @@ static int pohmelfs_crypto_hash_init(struct pohmelfs_config_group *g, struct poh
454 g->hash_strlen = c->strlen; 454 g->hash_strlen = c->strlen;
455 g->hash_keysize = c->keysize; 455 g->hash_keysize = c->keysize;
456 456
457 g->hash_key = kmalloc(c->keysize, GFP_KERNEL); 457 g->hash_key = kmemdup(key, c->keysize, GFP_KERNEL);
458 if (!g->hash_key) { 458 if (!g->hash_key) {
459 kfree(g->hash_string); 459 kfree(g->hash_string);
460 return -ENOMEM; 460 return -ENOMEM;
461 } 461 }
462 462
463 memcpy(g->hash_key, key, c->keysize);
464
465 return 0; 463 return 0;
466} 464}
467 465
@@ -479,14 +477,12 @@ static int pohmelfs_crypto_cipher_init(struct pohmelfs_config_group *g, struct p
479 g->cipher_strlen = c->strlen; 477 g->cipher_strlen = c->strlen;
480 g->cipher_keysize = c->keysize; 478 g->cipher_keysize = c->keysize;
481 479
482 g->cipher_key = kmalloc(c->keysize, GFP_KERNEL); 480 g->cipher_key = kmemdup(key, c->keysize, GFP_KERNEL);
483 if (!g->cipher_key) { 481 if (!g->cipher_key) {
484 kfree(g->cipher_string); 482 kfree(g->cipher_string);
485 return -ENOMEM; 483 return -ENOMEM;
486 } 484 }
487 485
488 memcpy(g->cipher_key, key, c->keysize);
489
490 return 0; 486 return 0;
491} 487}
492 488
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
index b7426fea549..1b838a266e0 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
@@ -2667,11 +2667,11 @@ static int ieee80211_wpa_set_wpa_ie(struct ieee80211_device *ieee,
2667 return -EINVAL; 2667 return -EINVAL;
2668 2668
2669 if (param->u.wpa_ie.len) { 2669 if (param->u.wpa_ie.len) {
2670 buf = kmalloc(param->u.wpa_ie.len, GFP_KERNEL); 2670 buf = kmemdup(param->u.wpa_ie.data, param->u.wpa_ie.len,
2671 GFP_KERNEL);
2671 if (buf == NULL) 2672 if (buf == NULL)
2672 return -ENOMEM; 2673 return -ENOMEM;
2673 2674
2674 memcpy(buf, param->u.wpa_ie.data, param->u.wpa_ie.len);
2675 kfree(ieee->wpa_ie); 2675 kfree(ieee->wpa_ie);
2676 ieee->wpa_ie = buf; 2676 ieee->wpa_ie = buf;
2677 ieee->wpa_ie_len = param->u.wpa_ie.len; 2677 ieee->wpa_ie_len = param->u.wpa_ie.len;
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c
index aa3ba450ece..07d8dbcdca2 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c
@@ -727,10 +727,9 @@ int ieee80211_wx_set_gen_ie(struct ieee80211_device *ieee, u8 *ie, size_t len)
727 printk("len:%zu, ie:%d\n", len, ie[1]); 727 printk("len:%zu, ie:%d\n", len, ie[1]);
728 return -EINVAL; 728 return -EINVAL;
729 } 729 }
730 buf = kmalloc(len, GFP_KERNEL); 730 buf = kmemdup(ie, len, GFP_KERNEL);
731 if (buf == NULL) 731 if (buf == NULL)
732 return -ENOMEM; 732 return -ENOMEM;
733 memcpy(buf, ie, len);
734 kfree(ieee->wpa_ie); 733 kfree(ieee->wpa_ie);
735 ieee->wpa_ie = buf; 734 ieee->wpa_ie = buf;
736 ieee->wpa_ie_len = len; 735 ieee->wpa_ie_len = len;
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
index 215542a00ef..46b6e8c900e 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
@@ -3255,11 +3255,11 @@ static int ieee80211_wpa_set_wpa_ie(struct ieee80211_device *ieee,
3255 return -EINVAL; 3255 return -EINVAL;
3256 3256
3257 if (param->u.wpa_ie.len) { 3257 if (param->u.wpa_ie.len) {
3258 buf = kmalloc(param->u.wpa_ie.len, GFP_KERNEL); 3258 buf = kmemdup(param->u.wpa_ie.data, param->u.wpa_ie.len,
3259 GFP_KERNEL);
3259 if (buf == NULL) 3260 if (buf == NULL)
3260 return -ENOMEM; 3261 return -ENOMEM;
3261 3262
3262 memcpy(buf, param->u.wpa_ie.data, param->u.wpa_ie.len);
3263 kfree(ieee->wpa_ie); 3263 kfree(ieee->wpa_ie);
3264 ieee->wpa_ie = buf; 3264 ieee->wpa_ie = buf;
3265 ieee->wpa_ie_len = param->u.wpa_ie.len; 3265 ieee->wpa_ie_len = param->u.wpa_ie.len;
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_wx.c
index fcabaf3c88d..4971b1c8e7d 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_wx.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_wx.c
@@ -979,10 +979,9 @@ int ieee80211_wx_set_gen_ie(struct ieee80211_device *ieee, u8 *ie, size_t len)
979 printk("len:%zu, ie:%d\n", len, ie[1]); 979 printk("len:%zu, ie:%d\n", len, ie[1]);
980 return -EINVAL; 980 return -EINVAL;
981 } 981 }
982 buf = kmalloc(len, GFP_KERNEL); 982 buf = kmemdup(ie, len, GFP_KERNEL);
983 if (buf == NULL) 983 if (buf == NULL)
984 return -ENOMEM; 984 return -ENOMEM;
985 memcpy(buf, ie, len);
986 kfree(ieee->wpa_ie); 985 kfree(ieee->wpa_ie);
987 ieee->wpa_ie = buf; 986 ieee->wpa_ie = buf;
988 ieee->wpa_ie_len = len; 987 ieee->wpa_ie_len = len;
diff --git a/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c
index b9fa15fccb7..4f1f2f08b2d 100644
--- a/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c
@@ -2844,11 +2844,11 @@ static int ieee80211_wpa_set_wpa_ie(struct ieee80211_device *ieee,
2844 return -EINVAL; 2844 return -EINVAL;
2845 2845
2846 if (param->u.wpa_ie.len) { 2846 if (param->u.wpa_ie.len) {
2847 buf = kmalloc(param->u.wpa_ie.len, GFP_KERNEL); 2847 buf = kmemdup(param->u.wpa_ie.data, param->u.wpa_ie.len,
2848 GFP_KERNEL);
2848 if (buf == NULL) 2849 if (buf == NULL)
2849 return -ENOMEM; 2850 return -ENOMEM;
2850 2851
2851 memcpy(buf, param->u.wpa_ie.data, param->u.wpa_ie.len);
2852 kfree(ieee->wpa_ie); 2852 kfree(ieee->wpa_ie);
2853 ieee->wpa_ie = buf; 2853 ieee->wpa_ie = buf;
2854 ieee->wpa_ie_len = param->u.wpa_ie.len; 2854 ieee->wpa_ie_len = param->u.wpa_ie.len;
diff --git a/drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c
index db54ad096da..2ce5bd543ea 100644
--- a/drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c
+++ b/drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c
@@ -767,10 +767,9 @@ int ieee80211_wx_set_gen_ie(struct ieee80211_device *ieee, u8 *ie, size_t len)
767 printk("len: %Zd, ie:%d\n", len, ie[1]); 767 printk("len: %Zd, ie:%d\n", len, ie[1]);
768 return -EINVAL; 768 return -EINVAL;
769 } 769 }
770 buf = kmalloc(len, GFP_KERNEL); 770 buf = kmemdup(ie, len, GFP_KERNEL);
771 if (buf == NULL) 771 if (buf == NULL)
772 return -ENOMEM; 772 return -ENOMEM;
773 memcpy(buf, ie, len);
774 kfree(ieee->wpa_ie); 773 kfree(ieee->wpa_ie);
775 ieee->wpa_ie = buf; 774 ieee->wpa_ie = buf;
776 ieee->wpa_ie_len = len; 775 ieee->wpa_ie_len = len;
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
index a6955e2b45c..a2e84c57857 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
@@ -1579,10 +1579,9 @@ static inline u16 auth_parse(struct sk_buff *skb, u8** challenge, int *chlen)
1579 1579
1580 if(*(t++) == MFIE_TYPE_CHALLENGE){ 1580 if(*(t++) == MFIE_TYPE_CHALLENGE){
1581 *chlen = *(t++); 1581 *chlen = *(t++);
1582 *challenge = kmalloc(*chlen, GFP_ATOMIC); 1582 *challenge = kmemdup(t, *chlen, GFP_ATOMIC);
1583 if (!*challenge) 1583 if (!*challenge)
1584 return -ENOMEM; 1584 return -ENOMEM;
1585 memcpy(*challenge, t, *chlen);
1586 } 1585 }
1587 } 1586 }
1588 1587
@@ -2870,11 +2869,11 @@ static int ieee80211_wpa_set_wpa_ie(struct ieee80211_device *ieee,
2870 return -EINVAL; 2869 return -EINVAL;
2871 2870
2872 if (param->u.wpa_ie.len) { 2871 if (param->u.wpa_ie.len) {
2873 buf = kmalloc(param->u.wpa_ie.len, GFP_KERNEL); 2872 buf = kmemdup(param->u.wpa_ie.data, param->u.wpa_ie.len,
2873 GFP_KERNEL);
2874 if (buf == NULL) 2874 if (buf == NULL)
2875 return -ENOMEM; 2875 return -ENOMEM;
2876 2876
2877 memcpy(buf, param->u.wpa_ie.data, param->u.wpa_ie.len);
2878 kfree(ieee->wpa_ie); 2877 kfree(ieee->wpa_ie);
2879 ieee->wpa_ie = buf; 2878 ieee->wpa_ie = buf;
2880 ieee->wpa_ie_len = param->u.wpa_ie.len; 2879 ieee->wpa_ie_len = param->u.wpa_ie.len;
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c
index 79b180f79e8..fb78ed2876e 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c
@@ -847,10 +847,9 @@ int ieee80211_wx_set_gen_ie(struct ieee80211_device *ieee, u8 *ie, size_t len)
847 printk("len:%zu, ie:%d\n", len, ie[1]); 847 printk("len:%zu, ie:%d\n", len, ie[1]);
848 return -EINVAL; 848 return -EINVAL;
849 } 849 }
850 buf = kmalloc(len, GFP_KERNEL); 850 buf = kmemdup(ie, len, GFP_KERNEL);
851 if (buf == NULL) 851 if (buf == NULL)
852 return -ENOMEM; 852 return -ENOMEM;
853 memcpy(buf, ie, len);
854 kfree(ieee->wpa_ie); 853 kfree(ieee->wpa_ie);
855 ieee->wpa_ie = buf; 854 ieee->wpa_ie = buf;
856 ieee->wpa_ie_len = len; 855 ieee->wpa_ie_len = len;
diff --git a/drivers/staging/usbip/stub_rx.c b/drivers/staging/usbip/stub_rx.c
index bc267408667..feb9fd7a7bb 100644
--- a/drivers/staging/usbip/stub_rx.c
+++ b/drivers/staging/usbip/stub_rx.c
@@ -502,13 +502,13 @@ static void stub_recv_cmd_submit(struct stub_device *sdev,
502 } 502 }
503 503
504 /* set priv->urb->setup_packet */ 504 /* set priv->urb->setup_packet */
505 priv->urb->setup_packet = kzalloc(8, GFP_KERNEL); 505 priv->urb->setup_packet = kmemdup(&pdu->u.cmd_submit.setup, 8,
506 GFP_KERNEL);
506 if (!priv->urb->setup_packet) { 507 if (!priv->urb->setup_packet) {
507 dev_err(&sdev->interface->dev, "allocate setup_packet\n"); 508 dev_err(&sdev->interface->dev, "allocate setup_packet\n");
508 usbip_event_add(ud, SDEV_EVENT_ERROR_MALLOC); 509 usbip_event_add(ud, SDEV_EVENT_ERROR_MALLOC);
509 return; 510 return;
510 } 511 }
511 memcpy(priv->urb->setup_packet, &pdu->u.cmd_submit.setup, 8);
512 512
513 /* set other members from the base header of pdu */ 513 /* set other members from the base header of pdu */
514 priv->urb->context = (void *) priv; 514 priv->urb->context = (void *) priv;