Commit e808bb6e authored by Markus Elfring's avatar Markus Elfring Committed by David S. Miller

ATM-iphase: Use kmalloc_array() in tx_init()

* Multiplications for the size determination of memory allocations
  indicated that array data structures should be processed.
  Thus use the corresponding function "kmalloc_array".

  This issue was detected by using the Coccinelle software.

* Replace the specification of data types by pointer dereferences
  to make the corresponding size determination a bit safer according to
  the Linux coding style convention.
Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 171a6c52
...@@ -1975,7 +1975,9 @@ static int tx_init(struct atm_dev *dev) ...@@ -1975,7 +1975,9 @@ static int tx_init(struct atm_dev *dev)
buf_desc_ptr++; buf_desc_ptr++;
tx_pkt_start += iadev->tx_buf_sz; tx_pkt_start += iadev->tx_buf_sz;
} }
iadev->tx_buf = kmalloc(iadev->num_tx_desc*sizeof(struct cpcs_trailer_desc), GFP_KERNEL); iadev->tx_buf = kmalloc_array(iadev->num_tx_desc,
sizeof(*iadev->tx_buf),
GFP_KERNEL);
if (!iadev->tx_buf) { if (!iadev->tx_buf) {
printk(KERN_ERR DEV_LABEL " couldn't get mem\n"); printk(KERN_ERR DEV_LABEL " couldn't get mem\n");
goto err_free_dle; goto err_free_dle;
...@@ -1995,8 +1997,9 @@ static int tx_init(struct atm_dev *dev) ...@@ -1995,8 +1997,9 @@ static int tx_init(struct atm_dev *dev)
sizeof(*cpcs), sizeof(*cpcs),
DMA_TO_DEVICE); DMA_TO_DEVICE);
} }
iadev->desc_tbl = kmalloc(iadev->num_tx_desc * iadev->desc_tbl = kmalloc_array(iadev->num_tx_desc,
sizeof(struct desc_tbl_t), GFP_KERNEL); sizeof(*iadev->desc_tbl),
GFP_KERNEL);
if (!iadev->desc_tbl) { if (!iadev->desc_tbl) {
printk(KERN_ERR DEV_LABEL " couldn't get mem\n"); printk(KERN_ERR DEV_LABEL " couldn't get mem\n");
goto err_free_all_tx_bufs; goto err_free_all_tx_bufs;
...@@ -2124,7 +2127,9 @@ static int tx_init(struct atm_dev *dev) ...@@ -2124,7 +2127,9 @@ static int tx_init(struct atm_dev *dev)
memset((caddr_t)(iadev->seg_ram+i), 0, iadev->num_vc*4); memset((caddr_t)(iadev->seg_ram+i), 0, iadev->num_vc*4);
vc = (struct main_vc *)iadev->MAIN_VC_TABLE_ADDR; vc = (struct main_vc *)iadev->MAIN_VC_TABLE_ADDR;
evc = (struct ext_vc *)iadev->EXT_VC_TABLE_ADDR; evc = (struct ext_vc *)iadev->EXT_VC_TABLE_ADDR;
iadev->testTable = kmalloc(sizeof(long)*iadev->num_vc, GFP_KERNEL); iadev->testTable = kmalloc_array(iadev->num_vc,
sizeof(*iadev->testTable),
GFP_KERNEL);
if (!iadev->testTable) { if (!iadev->testTable) {
printk("Get freepage failed\n"); printk("Get freepage failed\n");
goto err_free_desc_tbl; goto err_free_desc_tbl;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment