Re: [PATCH] ionic: Initialize the 'lif->dbid_inuse' bitmap

From: Shannon Nelson
Date: Tue Dec 28 2021 - 17:20:02 EST


On 12/26/21 6:06 AM, Christophe JAILLET wrote:
When allocated, this bitmap is not initialized. Only the first bit is set a
few lines below.

Use bitmap_zalloc() to make sure that it is cleared before being used.

Fixes: 6461b446f2a0 ("ionic: Add interrupts and doorbells")
Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>

Signed-off-by: Shannon Nelson <snelson@xxxxxxxxxxx>

---
The 'dbid_inuse' bitmap seems to be unused.
So it is certainly better to remove it completely instead of "fixing" it.

Let me know if it is the way to go or if it is there for future use.

If it should be left in place, the corresponding kfree() should also be
replaces by some bitmap_free() to keep consistency.

This looks like one of those small bits that creeps in from the out-of-tree incarnation, is expected to used Real Soon Now, but is not really useful yet.  Yes, this probably should come out until actually useful.  When we get back from the holiday vacations we'll take a closer look at it and make sure we're not causing any unforeseen issues by pulling it out for now.

Thanks,
sln

---
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
index 63f8a8163b5f..2ff7be17e5af 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
@@ -3135,7 +3135,7 @@ int ionic_lif_init(struct ionic_lif *lif)
return -EINVAL;
}
- lif->dbid_inuse = bitmap_alloc(lif->dbid_count, GFP_KERNEL);
+ lif->dbid_inuse = bitmap_zalloc(lif->dbid_count, GFP_KERNEL);
if (!lif->dbid_inuse) {
dev_err(dev, "Failed alloc doorbell id bitmap, aborting\n");
return -ENOMEM;