diff options
| -rw-r--r-- | drivers/usb/atm/cxacru.c | 4 | ||||
| -rw-r--r-- | drivers/usb/atm/speedtch.c | 4 | ||||
| -rw-r--r-- | drivers/usb/atm/usbatm.c | 8 |
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); |
