atm: iphase: fix a 64 bit bug
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 28 Jun 2018 09:24:42 +0000 (12:24 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sat, 30 Jun 2018 09:44:38 +0000 (18:44 +0900)
The code assumes that there is 4 bytes in a pointer and it doesn't
allocate enough memory.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/atm/iphase.c

index ff81a57..82532c2 100644 (file)
@@ -1618,7 +1618,7 @@ static int rx_init(struct atm_dev *dev)
        skb_queue_head_init(&iadev->rx_dma_q);  
        iadev->rx_free_desc_qhead = NULL;   
 
-       iadev->rx_open = kcalloc(4, iadev->num_vc, GFP_KERNEL);
+       iadev->rx_open = kcalloc(iadev->num_vc, sizeof(void *), GFP_KERNEL);
        if (!iadev->rx_open) {
                printk(KERN_ERR DEV_LABEL "itf %d couldn't get free page\n",
                dev->number);