Re: [PATCH v2] wifi: wilc1000: use vmm_table as array in wilc struct

From: Jeff Johnson
Date: Mon Oct 16 2023 - 18:52:14 EST


On 10/16/2023 2:23 PM, Alexis Lothoré wrote:
Hello Jeff,

On 10/16/23 17:26, Jeff Johnson wrote:
On 10/16/2023 1:29 AM, Alexis Lothoré wrote:
diff --git a/drivers/net/wireless/microchip/wilc1000/wlan.c
b/drivers/net/wireless/microchip/wilc1000/wlan.c
index 58bbf50081e4..e4113f2dfadf 100644
--- a/drivers/net/wireless/microchip/wilc1000/wlan.c
+++ b/drivers/net/wireless/microchip/wilc1000/wlan.c
@@ -1492,7 +1492,7 @@ int wilc_wlan_init(struct net_device *dev)
      }
        if (!wilc->vmm_table)
-        wilc->vmm_table = kzalloc(WILC_VMM_TBL_SIZE, GFP_KERNEL);
+        wilc->vmm_table = kzalloc(WILC_VMM_TBL_SIZE * sizeof(u32), GFP_KERNEL);

this is probably OK since the values are constant, but kcalloc() is generally
preferred

Ok, I can submit a new version with kcalloc. One thing that I do not understand
however is why checkpatch.pl remains silent on this one. I guess it should raise
the ALLOC_WITH_MULTIPLY warning here. I tried to dive into the script to
understand why, but I drowned in regexes (and Perl, with which I am not familiar
with). Could it be because of both sides being constant ?

I also drown when looking at checkpatch.pl -- so many "write-only" regexes! But I think the following is what excludes your patch:
$r1 =~ /^[A-Z_][A-Z0-9_]*$

It is a compile-time constant so the compiler can flag on overflow, so it's your call to modify or not.

/jeff