qede: allocate enough data for ->arfs_fltr_bmap
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 19 Apr 2017 09:54:33 +0000 (12:54 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Apr 2017 20:23:23 +0000 (16:23 -0400)
We've got the number of longs, yes, but we should multiply by
sizeof(long) to get the number of bytes needed.

Fixes: e4917d46a653 ("qede: Add aRFS support")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qede/qede_filter.c

index 8c594a3ca63b34f178ecd0b0830895b6e58f48cd..34473fbac798a1a28351d9c13e5f93df8e92d75f 100644 (file)
@@ -267,7 +267,8 @@ int qede_alloc_arfs(struct qede_dev *edev)
                return -ENOMEM;
        }
 
-       edev->arfs->arfs_fltr_bmap = vzalloc(BITS_TO_LONGS(QEDE_RFS_MAX_FLTR));
+       edev->arfs->arfs_fltr_bmap = vzalloc(BITS_TO_LONGS(QEDE_RFS_MAX_FLTR) *
+                                            sizeof(long));
        if (!edev->arfs->arfs_fltr_bmap) {
                free_irq_cpu_rmap(edev->ndev->rx_cpu_rmap);
                edev->ndev->rx_cpu_rmap = NULL;