Skip to contentSkip to conversation

qede: allocate enough data for ->arfs_fltr_bmap

PATCH Applied Dan Carpenter 3 participants 3 messages Apr 19, 2017 – Apr 20, 2017

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 qede: allocate enough data for ->arfs_fltr_bmap

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")

---
Btw, this driver use vmalloc() all over the place but kmalloc() is more appropriate when you're allocating tiny ammounts.

drivers/net/ethernet/qlogic/qede/qede_filter.c +2 -1
index 8c594a3ca63b..34473fbac798 100644
@@ -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;