Re: [PATCH] PCI: brcmstb: Declare a bitmap as a bitmap, not as a plain 'unsigned long'
From: Krzysztof Wilczyński
Date: Sun Nov 07 2021 - 20:34:31 EST
Hi Christophe!
[...]
> This bitmap can be BRCM_INT_PCI_MSI_LEGACY_NR or BRCM_INT_PCI_MSI_NR long.
Ahh. OK. Given this an option would be to: do nothing (keep current
status quo); allocate memory dynamically passing the "msi->nr" after it
has been set accordingly; use BRCM_INT_PCI_MSI_NR and waste a little bit
of space.
Perhaps moving to using the DECLARE_BITMAP() would be fine in this case
too, at least to match style of other drivers more closely.
Jim, Florian and Lorenzo - is this something that would be OK with you,
or you would rather keep things as they were?
> Addresses-Coverity: "Out-of-bounds access (ARRAY_VS_SINGLETON)"
This tag would have to be written as:
Addresses-Coverity: ("Out-of-bounds access (ARRAY_VS_SINGLETON)")
[...]
> + DECLARE_BITMAP (used, BRCM_INT_PCI_MSI_NR);
Probably not the most elegant solution, but I would keep it as:
DECLARE_BITMAP(used, BRCM_INT_PCI_MSI_NR);
Otherwise aligning either before or after the open bracket will cause
either an error or a warning issued by checkpatch.pl accordingly about
the style. Other users of this (a vast majoirty) macro don't do any
specific alignment at large
[...]
> + /*
> + * Sanity check to make sure that the 'used' bitmap in struct brcm_msi
> + * is large enough.
> + */
> + BUILD_BUG_ON(BRCM_INT_PCI_MSI_LEGACY_NR > BRCM_INT_PCI_MSI_NR);
A healthy paranoia, I see. :-)
Krzysztof