aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/atm
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/atm')
-rw-r--r--drivers/usb/atm/cxacru.c4
-rw-r--r--drivers/usb/atm/speedtch.c4
-rw-r--r--drivers/usb/atm/usbatm.c8
3 files changed, 5 insertions, 11 deletions
diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c
index 0b02a6d9f243..675fdbd5967e 100644
--- a/drivers/usb/atm/cxacru.c
+++ b/drivers/usb/atm/cxacru.c
@@ -673,14 +673,12 @@ static int cxacru_bind(struct usbatm_data *usbatm_instance,
673 int ret; 673 int ret;
674 674
675 /* instance init */ 675 /* instance init */
676 instance = kmalloc(sizeof(*instance), GFP_KERNEL); 676 instance = kzalloc(sizeof(*instance), GFP_KERNEL);
677 if (!instance) { 677 if (!instance) {
678 dbg("cxacru_bind: no memory for instance data"); 678 dbg("cxacru_bind: no memory for instance data");
679 return -ENOMEM; 679 return -ENOMEM;
680 } 680 }
681 681
682 memset(instance, 0, sizeof(*instance));
683
684 instance->usbatm = usbatm_instance; 682 instance->usbatm = usbatm_instance;
685 instance->modem_type = (struct cxacru_modem_type *) id->driver_info; 683 instance->modem_type = (struct cxacru_modem_type *) id->driver_info;
686 684
diff --git a/drivers/usb/atm/speedtch.c b/drivers/usb/atm/speedtch.c
index 1aca0b08f192..43ec758b92b5 100644
--- a/drivers/usb/atm/speedtch.c
+++ b/drivers/usb/atm/speedtch.c
@@ -715,7 +715,7 @@ static int speedtch_bind(struct usbatm_data *usbatm,
715 } 715 }
716 } 716 }
717 717
718 instance = kmalloc(sizeof(*instance), GFP_KERNEL); 718 instance = kzalloc(sizeof(*instance), GFP_KERNEL);
719 719
720 if (!instance) { 720 if (!instance) {
721 usb_err(usbatm, "%s: no memory for instance data!\n", __func__); 721 usb_err(usbatm, "%s: no memory for instance data!\n", __func__);
@@ -723,8 +723,6 @@ static int speedtch_bind(struct usbatm_data *usbatm,
723 goto fail_release; 723 goto fail_release;
724 } 724 }
725 725
726 memset(instance, 0, sizeof(struct speedtch_instance_data));
727
728 instance->usbatm = usbatm; 726 instance->usbatm = usbatm;
729 727
730 INIT_WORK(&instance->status_checker, (void *)speedtch_check_status, instance); 728 INIT_WORK(&instance->status_checker, (void *)speedtch_check_status, instance);
diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c
index 2eb8552dac12..3ed5f02c36d3 100644
--- a/drivers/usb/atm/usbatm.c
+++ b/drivers/usb/atm/usbatm.c
@@ -763,13 +763,12 @@ static int usbatm_atm_open(struct atm_vcc *vcc)
763 goto fail; 763 goto fail;
764 } 764 }
765 765
766 if (!(new = kmalloc(sizeof(struct usbatm_vcc_data), GFP_KERNEL))) { 766 if (!(new = kzalloc(sizeof(struct usbatm_vcc_data), GFP_KERNEL))) {
767 atm_err(instance, "%s: no memory for vcc_data!\n", __func__); 767 atm_err(instance, "%s: no memory for vcc_data!\n", __func__);
768 ret = -ENOMEM; 768 ret = -ENOMEM;
769 goto fail; 769 goto fail;
770 } 770 }
771 771
772 memset(new, 0, sizeof(struct usbatm_vcc_data));
773 new->vcc = vcc; 772 new->vcc = vcc;
774 new->vpi = vpi; 773 new->vpi = vpi;
775 new->vci = vci; 774 new->vci = vci;
@@ -1066,13 +1065,12 @@ int usbatm_usb_probe(struct usb_interface *intf, const struct usb_device_id *id,
1066 1065
1067 instance->urbs[i] = urb; 1066 instance->urbs[i] = urb;
1068 1067
1069 buffer = kmalloc(channel->buf_size, GFP_KERNEL); 1068 /* zero the tx padding to avoid leaking information */
1069 buffer = kzalloc(channel->buf_size, GFP_KERNEL);
1070 if (!buffer) { 1070 if (!buffer) {
1071 dev_err(dev, "%s: no memory for buffer %d!\n", __func__, i); 1071 dev_err(dev, "%s: no memory for buffer %d!\n", __func__, i);
1072 goto fail_unbind; 1072 goto fail_unbind;
1073 } 1073 }
1074 /* zero the tx padding to avoid leaking information */
1075 memset(buffer, 0, channel->buf_size);
1076 1074
1077 usb_fill_bulk_urb(urb, instance->usb_dev, channel->endpoint, 1075 usb_fill_bulk_urb(urb, instance->usb_dev, channel->endpoint,
1078 buffer, channel->buf_size, usbatm_complete, channel); 1076 buffer, channel->buf_size, usbatm_complete, channel);