Staging: Use kcalloc or kzalloc
authorJulia Lawall <julia@diku.dk>
Thu, 13 May 2010 20:00:05 +0000 (22:00 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 14 May 2010 21:02:56 +0000 (14:02 -0700)
Use kcalloc or kzalloc rather than the combination of kmalloc and memset.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x,y,flags;
statement S;
type T;
@@

x =
-   kmalloc
+   kcalloc
           (
-           y * sizeof(T),
+           y, sizeof(T),
                flags);
 if (x == NULL) S
-memset(x, 0, y * sizeof(T));

@@
expression x,size,flags;
statement S;
@@

-x = kmalloc(size,flags);
+x = kzalloc(size,flags);
 if (x == NULL) S
-memset(x, 0, size);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
49 files changed:
drivers/staging/comedi/drivers/addi-data/addi_amcc_s5933.h
drivers/staging/comedi/drivers/addi-data/amcc_s5933_58.h
drivers/staging/comedi/drivers/icp_multi.h
drivers/staging/dream/pmem.c
drivers/staging/go7007/go7007-fw.c
drivers/staging/go7007/go7007-usb.c
drivers/staging/go7007/go7007-v4l2.c
drivers/staging/go7007/saa7134-go7007.c
drivers/staging/otus/zdusb.c
drivers/staging/panel/panel.c
drivers/staging/pohmelfs/config.c
drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c
drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_ccmp.c
drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_tkip.c
drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_wep.c
drivers/staging/rtl8187se/ieee80211/ieee80211_module.c
drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c
drivers/staging/rtl8192e/ieee80211/ieee80211_crypt.c
drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_ccmp.c
drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_tkip.c
drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_wep.c
drivers/staging/rtl8192e/ieee80211/ieee80211_module.c
drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
drivers/staging/rtl8192e/ieee80211/ieee80211_wx.c
drivers/staging/rtl8192su/ieee80211/ieee80211_crypt.c
drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_ccmp.c
drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_tkip.c
drivers/staging/rtl8192su/ieee80211/ieee80211_crypt_wep.c
drivers/staging/rtl8192su/ieee80211/ieee80211_module.c
drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c
drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c
drivers/staging/rtl8192u/ieee80211/api.c
drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c
drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c
drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c
drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c
drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c
drivers/staging/rtl8192u/r8192U_core.c
drivers/staging/sm7xx/smtcfb.c
drivers/staging/vme/bridges/vme_ca91cx42.c
drivers/staging/vme/bridges/vme_tsi148.c
drivers/staging/vt6655/hostap.c
drivers/staging/vt6655/wpactl.c
drivers/staging/vt6656/hostap.c
drivers/staging/vt6656/wpactl.c
drivers/staging/wlan-ng/p80211conv.c
drivers/staging/wlan-ng/prism2fw.c

index 3682503e34120963d9ce8ef94b2fada91f72e38e..c3284eb0f0ac4447dcc53b8234263df27021a133 100644 (file)
@@ -260,12 +260,10 @@ void v_pci_card_list_init(unsigned short pci_vendor, char display)
                for (i_Count = 0; i_Count < 2; i_Count++) {
                        pci_vendor = i_ADDIDATADeviceID[i_Count];
                        if (pcidev->vendor == pci_vendor) {
-                               amcc = kmalloc(sizeof(*amcc), GFP_KERNEL);
+                               amcc = kzalloc(sizeof(*amcc), GFP_KERNEL);
                                if (amcc == NULL)
                                        continue;
 
-                               memset(amcc, 0, sizeof(*amcc));
-
                                amcc->pcidev = pcidev;
                                if (last)
                                        last->next = amcc;
index 49141b3558e1c86cce425e08ea860987db3a7a2a..349e93c23e9134950e1b3b440be22eaed336133d 100644 (file)
@@ -253,12 +253,10 @@ void v_pci_card_list_init(unsigned short pci_vendor, char display)
 
        pci_for_each_dev(pcidev) {
                if (pcidev->vendor == pci_vendor) {
-                       amcc = kmalloc(sizeof(*amcc), GFP_KERNEL);
+                       amcc = kzalloc(sizeof(*amcc), GFP_KERNEL);
                        if (amcc == NULL)
                                continue;
 
-                       memset(amcc, 0, sizeof(*amcc));
-
                        amcc->pcidev = pcidev;
                        if (last) {
                                last->next = amcc;
index 8caadc630ed502c48b5123ac9b6b0f665f0f8545..2bb96b1d21e78c650d9a82519190ca87cc203e02 100644 (file)
@@ -73,14 +73,13 @@ static void pci_card_list_init(unsigned short pci_vendor, char display)
             pcidev != NULL;
             pcidev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, pcidev)) {
                if (pcidev->vendor == pci_vendor) {
-                       inova = kmalloc(sizeof(*inova), GFP_KERNEL);
+                       inova = kzalloc(sizeof(*inova), GFP_KERNEL);
                        if (!inova) {
                                printk
                                    ("icp_multi: pci_card_list_init: allocation failed\n");
                                pci_dev_put(pcidev);
                                break;
                        }
-                       memset(inova, 0, sizeof(*inova));
 
                        inova->pcidev = pci_dev_get(pcidev);
                        if (last) {
index dbd2b1d14c4f00da6bd17fb55746e178e96d949e..6387365a833d36f51277f13af68f31d7724c3e16 100644 (file)
@@ -1245,14 +1245,11 @@ int pmem_setup(struct android_pmem_platform_data *pdata,
        }
        pmem[id].num_entries = pmem[id].size / PMEM_MIN_ALLOC;
 
-       pmem[id].bitmap = kmalloc(pmem[id].num_entries *
+       pmem[id].bitmap = kcalloc(pmem[id].num_entries,
                                  sizeof(struct pmem_bits), GFP_KERNEL);
        if (!pmem[id].bitmap)
                goto err_no_mem_for_metadata;
 
-       memset(pmem[id].bitmap, 0, sizeof(struct pmem_bits) *
-                                         pmem[id].num_entries);
-
        for (i = sizeof(pmem[id].num_entries) * 8 - 1; i >= 0; i--) {
                if ((pmem[id].num_entries) &  1<<i) {
                        PMEM_ORDER(id, index) = i;
index ee622ff1707e063482ee1611b16b6b2605988415..c9a6409edfe36f0153b976e9c63af42cbc37ad9c 100644 (file)
@@ -380,13 +380,12 @@ static int gen_mjpeghdr_to_package(struct go7007 *go, __le16 *code, int space)
        unsigned int addr = 0x19;
        int size = 0, i, off = 0, chunk;
 
-       buf = kmalloc(4096, GFP_KERNEL);
+       buf = kzalloc(4096, GFP_KERNEL);
        if (buf == NULL) {
                printk(KERN_ERR "go7007: unable to allocate 4096 bytes for "
                                "firmware construction\n");
                return -1;
        }
-       memset(buf, 0, 4096);
 
        for (i = 1; i < 32; ++i) {
                mjpeg_frame_header(go, buf + size, i);
@@ -651,13 +650,12 @@ static int gen_mpeg1hdr_to_package(struct go7007 *go,
        unsigned int addr = 0x19;
        int i, off = 0, chunk;
 
-       buf = kmalloc(5120, GFP_KERNEL);
+       buf = kzalloc(5120, GFP_KERNEL);
        if (buf == NULL) {
                printk(KERN_ERR "go7007: unable to allocate 5120 bytes for "
                                "firmware construction\n");
                return -1;
        }
-       memset(buf, 0, 5120);
        framelen[0] = mpeg1_frame_header(go, buf, 0, 1, PFRAME);
        if (go->interlace_coding)
                framelen[0] += mpeg1_frame_header(go, buf + framelen[0] / 8,
@@ -839,13 +837,12 @@ static int gen_mpeg4hdr_to_package(struct go7007 *go,
        unsigned int addr = 0x19;
        int i, off = 0, chunk;
 
-       buf = kmalloc(5120, GFP_KERNEL);
+       buf = kzalloc(5120, GFP_KERNEL);
        if (buf == NULL) {
                printk(KERN_ERR "go7007: unable to allocate 5120 bytes for "
                                "firmware construction\n");
                return -1;
        }
-       memset(buf, 0, 5120);
        framelen[0] = mpeg4_frame_header(go, buf, 0, PFRAME);
        i = 368;
        framelen[1] = mpeg4_frame_header(go, buf + i, 0, BFRAME_PRE);
@@ -1585,13 +1582,12 @@ int go7007_construct_fw_image(struct go7007 *go, u8 **fw, int *fwlen)
                        go->board_info->firmware);
                return -1;
        }
-       code = kmalloc(codespace * 2, GFP_KERNEL);
+       code = kzalloc(codespace * 2, GFP_KERNEL);
        if (code == NULL) {
                printk(KERN_ERR "go7007: unable to allocate %d bytes for "
                                "firmware construction\n", codespace * 2);
                goto fw_failed;
        }
-       memset(code, 0, codespace * 2);
        src = (__le16 *)fw_entry->data;
        srclen = fw_entry->size / 2;
        while (srclen >= 2) {
index ee278f64a16ba49832d3afb360fd6f35b34db348..20ed930b588c57588969fdf3498864210646347f 100644 (file)
@@ -670,10 +670,9 @@ static int go7007_usb_onboard_write_interrupt(struct go7007 *go,
                "go7007-usb: WriteInterrupt: %04x %04x\n", addr, data);
 #endif
 
-       tbuf = kmalloc(8, GFP_KERNEL);
+       tbuf = kzalloc(8, GFP_KERNEL);
        if (tbuf == NULL)
                return -ENOMEM;
-       memset(tbuf, 0, 8);
        tbuf[0] = data & 0xff;
        tbuf[1] = data >> 8;
        tbuf[2] = addr & 0xff;
index 723c1a64d87f3007f5f7da252e160d7cd0453f66..46b4b9f6855b37244f0a06563cf853875c7da202 100644 (file)
@@ -720,7 +720,7 @@ static int vidioc_reqbufs(struct file *file, void *priv,
                if (count > 32)
                        count = 32;
 
-               gofh->bufs = kmalloc(count * sizeof(struct go7007_buffer),
+               gofh->bufs = kcalloc(count, sizeof(struct go7007_buffer),
                                     GFP_KERNEL);
 
                if (!gofh->bufs) {
@@ -728,8 +728,6 @@ static int vidioc_reqbufs(struct file *file, void *priv,
                        goto unlock_and_return;
                }
 
-               memset(gofh->bufs, 0, count * sizeof(struct go7007_buffer));
-
                for (i = 0; i < count; ++i) {
                        gofh->bufs[i].go = go;
                        gofh->bufs[i].index = i;
index b25d7d2090e171981e49c470261de1b2583d6e2f..49f0d31c118a4103e8b56ff3c1d5d8f74a1e9a21 100644 (file)
@@ -440,10 +440,9 @@ static int saa7134_go7007_init(struct saa7134_dev *dev)
 
        printk(KERN_DEBUG "saa7134-go7007: probing new SAA713X board\n");
 
-       saa = kmalloc(sizeof(struct saa7134_go7007), GFP_KERNEL);
+       saa = kzalloc(sizeof(struct saa7134_go7007), GFP_KERNEL);
        if (saa == NULL)
                return -ENOMEM;
-       memset(saa, 0, sizeof(struct saa7134_go7007));
 
        /* Allocate a couple pages for receiving the compressed stream */
        saa->top = (u8 *)get_zeroed_page(GFP_KERNEL);
index 6509bc565e652761f4170ac34183ebdaa8e0a6a0..2c799a2502949f0f6423c1dd28a1c19790f92fda 100644 (file)
@@ -95,7 +95,7 @@ static int zfLnxProbe(struct usb_interface *interface,
         printk(KERN_NOTICE "USB 1.1 Host\n");
 #endif
 
-    macp = kmalloc(sizeof(struct usbdrv_private), GFP_KERNEL);
+    macp = kzalloc(sizeof(struct usbdrv_private), GFP_KERNEL);
     if (!macp)
     {
         printk(KERN_ERR "out of memory allocating device structure\n");
@@ -103,9 +103,6 @@ static int zfLnxProbe(struct usb_interface *interface,
         goto fail;
     }
 
-    /* Zero the memory */
-    memset(macp, 0, sizeof(struct usbdrv_private));
-
     net = alloc_etherdev(0);
 
     if (net == NULL)
index f9fcb2fef5a03407b2027e14918f22e70b3626f9..9ca0e9e2a96174c1f25672c0b9614315af3b0312 100644 (file)
@@ -1906,12 +1906,11 @@ static struct logical_input *panel_bind_key(char *name, char *press,
 {
        struct logical_input *key;
 
-       key = kmalloc(sizeof(struct logical_input), GFP_KERNEL);
+       key = kzalloc(sizeof(struct logical_input), GFP_KERNEL);
        if (!key) {
                printk(KERN_ERR "panel: not enough memory\n");
                return NULL;
        }
-       memset(key, 0, sizeof(struct logical_input));
        if (!input_name2mask(name, &key->mask, &key->value, &scan_mask_i,
                             &scan_mask_o))
                return NULL;
index 6571a6ae05a596603efc02eb678a26f1cbe976ad..9fdf2de347ea16497328c826b3d3d3b2b43a066f 100644 (file)
@@ -238,11 +238,10 @@ static int pohmelfs_send_reply(int err, int msg_num, int action, struct cn_msg *
 {
        struct pohmelfs_cn_ack *ack;
 
-       ack = kmalloc(sizeof(struct pohmelfs_cn_ack), GFP_KERNEL);
+       ack = kzalloc(sizeof(struct pohmelfs_cn_ack), GFP_KERNEL);
        if (!ack)
                return -ENOMEM;
 
-       memset(ack, 0, sizeof(struct pohmelfs_cn_ack));
        memcpy(&ack->msg, msg, sizeof(struct cn_msg));
 
        if (action == POHMELFS_CTLINFO_ACK)
index 4c5d63fd583364dfccbcc4c5b72ab8a46f898819..c8dbcb9259159a9d3fd6915dcc12b6dc001f6057 100644 (file)
@@ -109,11 +109,10 @@ int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops)
        if (hcrypt == NULL)
                return -1;
 
-       alg = kmalloc(sizeof(*alg), GFP_KERNEL);
+       alg = kzalloc(sizeof(*alg), GFP_KERNEL);
        if (alg == NULL)
                return -ENOMEM;
 
-       memset(alg, 0, sizeof(*alg));
        alg->ops = ops;
 
        spin_lock_irqsave(&hcrypt->lock, flags);
@@ -207,11 +206,10 @@ int ieee80211_crypto_init(void)
 {
        int ret = -ENOMEM;
 
-       hcrypt = kmalloc(sizeof(*hcrypt), GFP_KERNEL);
+       hcrypt = kzalloc(sizeof(*hcrypt), GFP_KERNEL);
        if (!hcrypt)
                goto out;
 
-       memset(hcrypt, 0, sizeof(*hcrypt));
        INIT_LIST_HEAD(&hcrypt->algs);
        spin_lock_init(&hcrypt->lock);
 
index 40f1b99faad29d6f44d82837ab62302fc181ae0f..731d2686411edd6595779263f34532d70631cf4e 100644 (file)
@@ -69,10 +69,9 @@ static void * ieee80211_ccmp_init(int key_idx)
 {
        struct ieee80211_ccmp_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = key_idx;
 
        priv->tfm = (void *)crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
index a5254111d9a1c09ffb2c3e2ad9181e8823fcd004..ee71ee90fd89668f7222e22d7c9e47ab3531fb32 100644 (file)
@@ -70,10 +70,9 @@ static void * ieee80211_tkip_init(int key_idx)
 {
        struct ieee80211_tkip_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = key_idx;
 
        priv->tx_tfm_arc4 = crypto_alloc_blkcipher("ecb(arc4)", 0,
index c6c3bc38459b51bc70633c114405d7ad217ecf7a..f790cd65f107a28e4e480baa8436f0ae2baa355e 100644 (file)
@@ -45,10 +45,9 @@ static void * prism2_wep_init(int keyidx)
 {
        struct prism2_wep_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = keyidx;
        priv->tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC);
        if (IS_ERR(priv->tx_tfm)) {
index 18392fce487deb22dab8054c3ae248c282237c2a..9d58a429c5658fbd8851cc4b7a9d4d4434f5d63f 100644 (file)
@@ -66,8 +66,8 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
        if (ieee->networks)
                return 0;
 
-       ieee->networks = kmalloc(
-               MAX_NETWORK_COUNT * sizeof(struct ieee80211_network),
+       ieee->networks = kcalloc(
+               MAX_NETWORK_COUNT, sizeof(struct ieee80211_network),
                GFP_KERNEL);
        if (!ieee->networks) {
                printk(KERN_WARNING "%s: Out of memory allocating beacons\n",
@@ -75,9 +75,6 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
                return -ENOMEM;
        }
 
-       memset(ieee->networks, 0,
-              MAX_NETWORK_COUNT * sizeof(struct ieee80211_network));
-
        return 0;
 }
 
index c5b80f9c32c0638b29c4c0785d82a37ee35db575..aa3ba450eceffc9a0e8ef5d51c9e312106fda967 100644 (file)
@@ -325,11 +325,10 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
                struct ieee80211_crypt_data *new_crypt;
 
                /* take WEP into use */
-               new_crypt = kmalloc(sizeof(struct ieee80211_crypt_data),
+               new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data),
                                    GFP_KERNEL);
                if (new_crypt == NULL)
                        return -ENOMEM;
-               memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data));
                new_crypt->ops = ieee80211_get_crypto_ops("WEP");
                if (!new_crypt->ops)
                        new_crypt->ops = ieee80211_get_crypto_ops("WEP");
index b3c9bf4b4ea6ed6a3095ef42bc1c3e47ca28492d..d5aa9af3d9f4db2c499666bceade07ef3e381cd0 100644 (file)
@@ -109,11 +109,10 @@ int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops)
        if (hcrypt == NULL)
                return -1;
 
-       alg = kmalloc(sizeof(*alg), GFP_KERNEL);
+       alg = kzalloc(sizeof(*alg), GFP_KERNEL);
        if (alg == NULL)
                return -ENOMEM;
 
-       memset(alg, 0, sizeof(*alg));
        alg->ops = ops;
 
        spin_lock_irqsave(&hcrypt->lock, flags);
@@ -207,11 +206,10 @@ int __init ieee80211_crypto_init(void)
 {
        int ret = -ENOMEM;
 
-       hcrypt = kmalloc(sizeof(*hcrypt), GFP_KERNEL);
+       hcrypt = kzalloc(sizeof(*hcrypt), GFP_KERNEL);
        if (!hcrypt)
                goto out;
 
-       memset(hcrypt, 0, sizeof(*hcrypt));
        INIT_LIST_HEAD(&hcrypt->algs);
        spin_lock_init(&hcrypt->lock);
 
index 1776f7e69bfe2268d552a7f85051271a76f81d06..7165c4c75c7edd5fabee95efd20c58860164ac5b 100644 (file)
@@ -96,10 +96,9 @@ static void * ieee80211_ccmp_init(int key_idx)
 {
        struct ieee80211_ccmp_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = key_idx;
 
 #if((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)) && (!OPENSUSE_SLED))
index 03cb21eb0658859c8f7cdd976526206eb5cd7a8e..65f48896bfaa1c10387b3262bf5e9b3da296eb4a 100644 (file)
@@ -87,10 +87,9 @@ static void * ieee80211_tkip_init(int key_idx)
 {
        struct ieee80211_tkip_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = key_idx;
 #if((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)) && (!OPENSUSE_SLED))
        priv->tx_tfm_arc4 = crypto_alloc_tfm("arc4", 0);
index 5678313e30a5c680f715bc6455a7663ebd0f7083..c4bbc8ddbad127c5787b61147b7d59aadee2465f 100644 (file)
@@ -71,10 +71,9 @@ static void * prism2_wep_init(int keyidx)
 {
        struct prism2_wep_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = keyidx;
 
 #if((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)) && (!OPENSUSE_SLED))
index c7aa1c63cb196ebe4362d3d6175a3d7f3be87562..614a8b630e67b4b14700873c5f0c3e9678582ea0 100644 (file)
@@ -65,8 +65,8 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
        if (ieee->networks)
                return 0;
 
-       ieee->networks = kmalloc(
-               MAX_NETWORK_COUNT * sizeof(struct ieee80211_network),
+       ieee->networks = kcalloc(
+               MAX_NETWORK_COUNT, sizeof(struct ieee80211_network),
                GFP_KERNEL);
        if (!ieee->networks) {
                printk(KERN_WARNING "%s: Out of memory allocating beacons\n",
@@ -74,9 +74,6 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
                return -ENOMEM;
        }
 
-       memset(ieee->networks, 0,
-              MAX_NETWORK_COUNT * sizeof(struct ieee80211_network));
-
        return 0;
 }
 
index 4f6ce06b606ba64136ffbd6f5617f45d14c2f13e..215542a00ef1afe16418d4230b2745ae570daa7e 100644 (file)
@@ -3079,10 +3079,9 @@ void ieee80211_softmac_init(struct ieee80211_device *ieee)
          ieee->seq_ctrl[i] = 0;
        }
 #ifdef ENABLE_DOT11D
-       ieee->pDot11dInfo = kmalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC);
+       ieee->pDot11dInfo = kzalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC);
        if (!ieee->pDot11dInfo)
                IEEE80211_DEBUG(IEEE80211_DL_ERR, "can't alloc memory for DOT11D\n");
-       memset(ieee->pDot11dInfo, 0, sizeof(RT_DOT11D_INFO));
 #endif
        //added for  AP roaming
        ieee->LinkDetectInfo.SlotNum = 2;
index de57967b9681d71c72ae630b0d3e3b0364aac79c..fcabaf3c88d4329584b22c82ac0f324241899bbf 100644 (file)
@@ -477,11 +477,10 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
                struct ieee80211_crypt_data *new_crypt;
 
                /* take WEP into use */
-               new_crypt = kmalloc(sizeof(struct ieee80211_crypt_data),
+               new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data),
                                    GFP_KERNEL);
                if (new_crypt == NULL)
                        return -ENOMEM;
-               memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data));
                new_crypt->ops = ieee80211_get_crypto_ops("WEP");
                if (!new_crypt->ops)
                        new_crypt->ops = ieee80211_get_crypto_ops("WEP");
index c4640e63196b0b52c48322fdcf73b9fdfdc3f22d..8019423394379d4c1d947e9192adb0863108fbd7 100644 (file)
@@ -109,11 +109,10 @@ int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops)
        if (hcrypt == NULL)
                return -1;
 
-       alg = kmalloc(sizeof(*alg), GFP_KERNEL);
+       alg = kzalloc(sizeof(*alg), GFP_KERNEL);
        if (alg == NULL)
                return -ENOMEM;
 
-       memset(alg, 0, sizeof(*alg));
        alg->ops = ops;
 
        spin_lock_irqsave(&hcrypt->lock, flags);
@@ -206,11 +205,10 @@ int __init ieee80211_crypto_init(void)
 {
        int ret = -ENOMEM;
 
-       hcrypt = kmalloc(sizeof(*hcrypt), GFP_KERNEL);
+       hcrypt = kzalloc(sizeof(*hcrypt), GFP_KERNEL);
        if (!hcrypt)
                goto out;
 
-       memset(hcrypt, 0, sizeof(*hcrypt));
        INIT_LIST_HEAD(&hcrypt->algs);
        spin_lock_init(&hcrypt->lock);
 
index 8a93f7d3eb387d48201cc7396bb5354ec8a97b8a..77de957f1b1f7eebce8c5906b7ed310c693f0dba 100644 (file)
@@ -68,10 +68,9 @@ static void * ieee80211_ccmp_init(int key_idx)
 {
        struct ieee80211_ccmp_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = key_idx;
 
        priv->tfm = (void *)crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
index 7e48748da102dab25d1cf43e904b134f20c66864..ade5f6f13667de9d4b1ff0b80d785da225d7674c 100644 (file)
@@ -67,10 +67,9 @@ static void * ieee80211_tkip_init(int key_idx)
 {
        struct ieee80211_tkip_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = key_idx;
 
        priv->tx_tfm_arc4 = crypto_alloc_blkcipher("ecb(arc4)", 0,
index 64f9cf01c94ea89cd23c2c38b069b52eb8b0e423..a1c0a59122b88eccad81def54d36aa592fe5421b 100644 (file)
@@ -43,10 +43,9 @@ static void * prism2_wep_init(int keyidx)
 {
        struct prism2_wep_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = keyidx;
 
        priv->tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC);
index 73de3baf9158a89feb93eaf4415a93749e7da53f..a87650a517bd0b9456a246a8a14cf3318c31e343 100644 (file)
@@ -65,8 +65,8 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
        if (ieee->networks)
                return 0;
 
-       ieee->networks = kmalloc(
-               MAX_NETWORK_COUNT * sizeof(struct ieee80211_network),
+       ieee->networks = kcalloc(
+               MAX_NETWORK_COUNT, sizeof(struct ieee80211_network),
                GFP_KERNEL);
        if (!ieee->networks) {
                printk(KERN_WARNING "%s: Out of memory allocating beacons\n",
@@ -74,9 +74,6 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
                return -ENOMEM;
        }
 
-       memset(ieee->networks, 0,
-              MAX_NETWORK_COUNT * sizeof(struct ieee80211_network));
-
        return 0;
 }
 
index 660aee2874a463444e0fe0ee8866f6e819ab47c6..b9fa15fccb78a18dc6ea0af5ec9b10c714f7ef9d 100644 (file)
@@ -2699,10 +2699,9 @@ void ieee80211_softmac_init(struct ieee80211_device *ieee)
        for(i = 0; i < 5; i++) {
          ieee->seq_ctrl[i] = 0;
        }
-       ieee->pDot11dInfo = kmalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC);
+       ieee->pDot11dInfo = kzalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC);
        if (!ieee->pDot11dInfo)
                IEEE80211_DEBUG(IEEE80211_DL_ERR, "can't alloc memory for DOT11D\n");
-       memset(ieee->pDot11dInfo, 0, sizeof(RT_DOT11D_INFO));
        //added for  AP roaming
        ieee->LinkDetectInfo.SlotNum = 2;
        ieee->LinkDetectInfo.NumRecvBcnInPeriod=0;
index 727cc552c5eef4e93d65b226ade2bbd8836125e6..db54ad096da0dda7a7c7ceb7392b488e241ba0ee 100644 (file)
@@ -352,11 +352,10 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
                struct ieee80211_crypt_data *new_crypt;
 
                /* take WEP into use */
-               new_crypt = kmalloc(sizeof(struct ieee80211_crypt_data),
+               new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data),
                                    GFP_KERNEL);
                if (new_crypt == NULL)
                        return -ENOMEM;
-               memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data));
                new_crypt->ops = ieee80211_get_crypto_ops("WEP");
                if (!new_crypt->ops)
                        new_crypt->ops = ieee80211_get_crypto_ops("WEP");
index c627d029528b4cce212c949ddc7518d7dd287728..5f46e50e586e2ab2b0e4984fcce35ab845c6f172 100644 (file)
@@ -131,12 +131,10 @@ struct crypto_tfm *crypto_alloc_tfm(const char *name, u32 flags)
        if (alg == NULL)
                goto out;
 
-       tfm = kmalloc(sizeof(*tfm) + alg->cra_ctxsize, GFP_KERNEL);
+       tfm = kzalloc(sizeof(*tfm) + alg->cra_ctxsize, GFP_KERNEL);
        if (tfm == NULL)
                goto out_put;
 
-       memset(tfm, 0, sizeof(*tfm) + alg->cra_ctxsize);
-
        tfm->__crt_alg = alg;
 
        if (crypto_init_flags(tfm, flags))
index 521e7b989934eae69614cfa1a74ba32ec4dcd52f..8707eba4f905f2cdecb7699ef7452116bff55896 100644 (file)
@@ -109,11 +109,10 @@ int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops)
        if (hcrypt == NULL)
                return -1;
 
-       alg = kmalloc(sizeof(*alg), GFP_KERNEL);
+       alg = kzalloc(sizeof(*alg), GFP_KERNEL);
        if (alg == NULL)
                return -ENOMEM;
 
-       memset(alg, 0, sizeof(*alg));
        alg->ops = ops;
 
        spin_lock_irqsave(&hcrypt->lock, flags);
@@ -206,11 +205,10 @@ int __init ieee80211_crypto_init(void)
 {
        int ret = -ENOMEM;
 
-       hcrypt = kmalloc(sizeof(*hcrypt), GFP_KERNEL);
+       hcrypt = kzalloc(sizeof(*hcrypt), GFP_KERNEL);
        if (!hcrypt)
                goto out;
 
-       memset(hcrypt, 0, sizeof(*hcrypt));
        INIT_LIST_HEAD(&hcrypt->algs);
        spin_lock_init(&hcrypt->lock);
 
index 0b57632bcff9e2de67bed5f6d80fd2510448b320..4b078e536382efe9116c8a0f028cf1f6d639c4ea 100644 (file)
@@ -68,10 +68,9 @@ static void * ieee80211_ccmp_init(int key_idx)
 {
        struct ieee80211_ccmp_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = key_idx;
 
        priv->tfm = (void*)crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC);
index 9510507d8d059f8fadf38c23e37cc43201ed38ce..a98584c845b828bfdce945cb7fbd7fc35fa77226 100644 (file)
@@ -67,10 +67,9 @@ static void * ieee80211_tkip_init(int key_idx)
 {
        struct ieee80211_tkip_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = key_idx;
 
        priv->tx_tfm_arc4 = crypto_alloc_blkcipher("ecb(arc4)", 0,
index 61ad11cae38c02b8720ab7a32f28268fffb2dcd0..96c2c9d67fd1054df7f6fec83102cf8f5e26e203 100644 (file)
@@ -43,10 +43,9 @@ static void * prism2_wep_init(int keyidx)
 {
        struct prism2_wep_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = keyidx;
 
        priv->tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC);
index 1111002bad9faf5c04659b41766f4416e17dc7ed..7455264aa54357e40751c88108528fb4490ef6b0 100644 (file)
@@ -65,8 +65,8 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
        if (ieee->networks)
                return 0;
 
-       ieee->networks = kmalloc(
-               MAX_NETWORK_COUNT * sizeof(struct ieee80211_network),
+       ieee->networks = kcalloc(
+               MAX_NETWORK_COUNT, sizeof(struct ieee80211_network),
                GFP_KERNEL);
        if (!ieee->networks) {
                printk(KERN_WARNING "%s: Out of memory allocating beacons\n",
@@ -74,9 +74,6 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee)
                return -ENOMEM;
        }
 
-       memset(ieee->networks, 0,
-              MAX_NETWORK_COUNT * sizeof(struct ieee80211_network));
-
        return 0;
 }
 
index 6c6bf9f6e78a42c1171f43728ad97ed09c2ebe83..a6955e2b45c4afac5b289e5dd98bd088a5033720 100644 (file)
@@ -2723,10 +2723,9 @@ void ieee80211_softmac_init(struct ieee80211_device *ieee)
          ieee->seq_ctrl[i] = 0;
        }
 #ifdef ENABLE_DOT11D
-       ieee->pDot11dInfo = kmalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC);
+       ieee->pDot11dInfo = kzalloc(sizeof(RT_DOT11D_INFO), GFP_ATOMIC);
        if (!ieee->pDot11dInfo)
                IEEE80211_DEBUG(IEEE80211_DL_ERR, "can't alloc memory for DOT11D\n");
-       memset(ieee->pDot11dInfo, 0, sizeof(RT_DOT11D_INFO));
 #endif
        //added for  AP roaming
        ieee->LinkDetectInfo.SlotNum = 2;
index 4d5348e6c104c21caa4152c33fc40458fd9ae6c7..79b180f79e802decb3fba2f2bcf61b495ab50fa0 100644 (file)
@@ -379,11 +379,10 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
                struct ieee80211_crypt_data *new_crypt;
 
                /* take WEP into use */
-               new_crypt = kmalloc(sizeof(struct ieee80211_crypt_data),
+               new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data),
                                    GFP_KERNEL);
                if (new_crypt == NULL)
                        return -ENOMEM;
-               memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data));
                new_crypt->ops = ieee80211_get_crypto_ops("WEP");
                if (!new_crypt->ops) {
                        request_module("ieee80211_crypt_wep");
index cbbc7d32fcf36e5fcefedcc33f13a6105bfa8baf..2bede271a2f0302924ea8f2155b5848429073041 100644 (file)
@@ -2251,13 +2251,11 @@ short rtl8192_usb_initendpoints(struct net_device *dev)
 #endif
 
        memset(priv->rx_urb, 0, sizeof(struct urb*) * MAX_RX_URB);
-       priv->pp_rxskb = kmalloc(sizeof(struct sk_buff *) * MAX_RX_URB,
+       priv->pp_rxskb = kcalloc(MAX_RX_URB, sizeof(struct sk_buff *),
                                 GFP_KERNEL);
        if (priv->pp_rxskb == NULL)
                goto destroy;
 
-       memset(priv->pp_rxskb, 0, sizeof(struct sk_buff*) * MAX_RX_URB);
-
        goto _middle;
 
 
index e817a20d1bdd80fbb9d09bb2999a0884e7d5665e..9ffeb36ddde6528218a8704b01f62ad34286c0b7 100644 (file)
@@ -688,13 +688,11 @@ static struct smtcfb_info *smtc_alloc_fb_info(struct pci_dev *dev,
 {
        struct smtcfb_info *sfb;
 
-       sfb = kmalloc(sizeof(struct smtcfb_info), GFP_KERNEL);
+       sfb = kzalloc(sizeof(struct smtcfb_info), GFP_KERNEL);
 
        if (!sfb)
                return NULL;
 
-       memset(sfb, 0, sizeof(struct smtcfb_info));
-
        sfb->currcon = -1;
        sfb->dev = dev;
 
index c35dead64a388ad06f80abaa8d885dc84aae4c9b..0c82eb47a28dd706d554788533252231b3f6fe82 100644 (file)
@@ -1494,7 +1494,7 @@ static int ca91cx42_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        /* We want to support more than one of each bridge so we need to
         * dynamically allocate the bridge structure
         */
-       ca91cx42_bridge = kmalloc(sizeof(struct vme_bridge), GFP_KERNEL);
+       ca91cx42_bridge = kzalloc(sizeof(struct vme_bridge), GFP_KERNEL);
 
        if (ca91cx42_bridge == NULL) {
                dev_err(&pdev->dev, "Failed to allocate memory for device "
@@ -1503,9 +1503,7 @@ static int ca91cx42_probe(struct pci_dev *pdev, const struct pci_device_id *id)
                goto err_struct;
        }
 
-       memset(ca91cx42_bridge, 0, sizeof(struct vme_bridge));
-
-       ca91cx42_device = kmalloc(sizeof(struct ca91cx42_driver), GFP_KERNEL);
+       ca91cx42_device = kzalloc(sizeof(struct ca91cx42_driver), GFP_KERNEL);
 
        if (ca91cx42_device == NULL) {
                dev_err(&pdev->dev, "Failed to allocate memory for device "
@@ -1514,8 +1512,6 @@ static int ca91cx42_probe(struct pci_dev *pdev, const struct pci_device_id *id)
                goto err_driver;
        }
 
-       memset(ca91cx42_device, 0, sizeof(struct ca91cx42_driver));
-
        ca91cx42_bridge->driver_priv = ca91cx42_device;
 
        /* Enable the device */
index 7539cce6e2a763722ebf0b8f9179def4dbff86f7..cf8cf37a82cc23ed56f31047a19c623b5ffc6268 100644 (file)
@@ -2230,7 +2230,7 @@ static int tsi148_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        /* If we want to support more than one of each bridge, we need to
         * dynamically generate this so we get one per device
         */
-       tsi148_bridge = kmalloc(sizeof(struct vme_bridge), GFP_KERNEL);
+       tsi148_bridge = kzalloc(sizeof(struct vme_bridge), GFP_KERNEL);
        if (tsi148_bridge == NULL) {
                dev_err(&pdev->dev, "Failed to allocate memory for device "
                        "structure\n");
@@ -2238,9 +2238,7 @@ static int tsi148_probe(struct pci_dev *pdev, const struct pci_device_id *id)
                goto err_struct;
        }
 
-       memset(tsi148_bridge, 0, sizeof(struct vme_bridge));
-
-       tsi148_device = kmalloc(sizeof(struct tsi148_driver), GFP_KERNEL);
+       tsi148_device = kzalloc(sizeof(struct tsi148_driver), GFP_KERNEL);
        if (tsi148_device == NULL) {
                dev_err(&pdev->dev, "Failed to allocate memory for device "
                        "structure\n");
@@ -2248,8 +2246,6 @@ static int tsi148_probe(struct pci_dev *pdev, const struct pci_device_id *id)
                goto err_driver;
        }
 
-       memset(tsi148_device, 0, sizeof(struct tsi148_driver));
-
        tsi148_bridge->driver_priv = tsi148_device;
 
        /* Enable the device */
index fb7775c52339f39be0d6caa1e49630e3a5242c25..195cc36654aeea7a9628812807544d88f3dea5d6 100644 (file)
@@ -90,10 +90,9 @@ static int hostap_enable_hostapd(PSDevice pDevice, int rtnl_locked)
 
     DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", dev->name);
 
-       pDevice->apdev = kmalloc(sizeof(struct net_device), GFP_KERNEL);
+       pDevice->apdev = kzalloc(sizeof(struct net_device), GFP_KERNEL);
        if (pDevice->apdev == NULL)
                return -ENOMEM;
-       memset(pDevice->apdev, 0, sizeof(struct net_device));
 
     apdev_priv = netdev_priv(pDevice->apdev);
     *apdev_priv = *pDevice;
index e5e618eb6bb780f6f5417adec14b905dceae98c1..9f215dfa86e0e10ac365e148accdfd8f4a008700 100644 (file)
@@ -681,13 +681,12 @@ static int wpa_get_scan(PSDevice pDevice,
         count++;
     };
 
-    pBuf = kmalloc(sizeof(struct viawget_scan_result) * count, (int)GFP_ATOMIC);
+    pBuf = kcalloc(count, sizeof(struct viawget_scan_result), (int)GFP_ATOMIC);
 
     if (pBuf == NULL) {
         ret = -ENOMEM;
         return ret;
     }
-       memset(pBuf, 0, sizeof(struct viawget_scan_result) * count);
     scan_buf = (struct viawget_scan_result *)pBuf;
        pBSS = &(pMgmt->sBSSList[0]);
     for (ii = 0, jj = 0; ii < MAX_BSS_NUM ; ii++) {
index 44386316b216de8bbd1e29efb28b00cfa55381cb..93e52a3ebd85187e28bdd45eada95bea50c81ad2 100644 (file)
@@ -91,10 +91,9 @@ static int hostap_enable_hostapd(PSDevice pDevice, int rtnl_locked)
 
     DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", dev->name);
 
-       pDevice->apdev = kmalloc(sizeof(struct net_device), GFP_KERNEL);
+       pDevice->apdev = kzalloc(sizeof(struct net_device), GFP_KERNEL);
        if (pDevice->apdev == NULL)
                return -ENOMEM;
-       memset(pDevice->apdev, 0, sizeof(struct net_device));
 
     apdev_priv = netdev_priv(pDevice->apdev);
     *apdev_priv = *pDevice;
index 8f7ad2c4308295d98142bf965181311da349dc1a..961f583368a1825ee19f84f18996aa338b74ec72 100644 (file)
@@ -678,13 +678,12 @@ static int wpa_get_scan(PSDevice pDevice,
         count++;
     };
 
-    pBuf = kmalloc(sizeof(struct viawget_scan_result) * count, (int)GFP_ATOMIC);
+    pBuf = kcalloc(count, sizeof(struct viawget_scan_result), (int)GFP_ATOMIC);
 
     if (pBuf == NULL) {
         ret = -ENOMEM;
         return ret;
     }
-       memset(pBuf, 0, sizeof(struct viawget_scan_result) * count);
     scan_buf = (struct viawget_scan_result *)pBuf;
        pBSS = &(pMgmt->sBSSList[0]);
     for (ii = 0, jj = 0; ii < MAX_BSS_NUM ; ii++) {
index 71c3595fe8306363c9088d59fb10bd5de9604a61..059e15055b742d6e29f135be9cbd3586b506b424 100644 (file)
@@ -601,7 +601,7 @@ int p80211skb_rxmeta_attach(struct wlandevice *wlandev, struct sk_buff *skb)
        }
 
        /* Allocate the rxmeta */
-       rxmeta = kmalloc(sizeof(p80211_rxmeta_t), GFP_ATOMIC);
+       rxmeta = kzalloc(sizeof(p80211_rxmeta_t), GFP_ATOMIC);
 
        if (rxmeta == NULL) {
                printk(KERN_ERR "%s: Failed to allocate rxmeta.\n",
@@ -611,7 +611,6 @@ int p80211skb_rxmeta_attach(struct wlandevice *wlandev, struct sk_buff *skb)
        }
 
        /* Initialize the rxmeta */
-       memset(rxmeta, 0, sizeof(p80211_rxmeta_t));
        rxmeta->wlandev = wlandev;
        rxmeta->hosttime = jiffies;
 
index fc2d8f40edd4d1b5651931c9ad5c293707650073..d20c8797bcc7fe2c7d61e6dd54ca9fe63b042a10 100644 (file)
@@ -536,13 +536,12 @@ int mkimage(imgchunk_t *clist, unsigned int *ccnt)
 
        /* Allocate buffer space for chunks */
        for (i = 0; i < *ccnt; i++) {
-               clist[i].data = kmalloc(clist[i].len, GFP_KERNEL);
+               clist[i].data = kzalloc(clist[i].len, GFP_KERNEL);
                if (clist[i].data == NULL) {
                        printk(KERN_ERR
                               "failed to allocate image space, exitting.\n");
                        return 1;
                }
-               memset(clist[i].data, 0, clist[i].len);
                pr_debug("chunk[%d]: addr=0x%06x len=%d\n",
                         i, clist[i].addr, clist[i].len);
        }