RE: [PATCH v4 0/3] Fix find_first_zero_bit() usage

From: David Laight
Date: Tue Dec 12 2017 - 09:33:41 EST


From: Niklas Cassel
> find_first_zero_bit()'s parameter 'size' is defined in bits,
> not in bytes.
>
> Calling find_first_zero_bit() with the wrong size unit
> will lead to insidious bugs.
>
> Fix all uses of find_first_zero_bit() called with
> sizeof() as size argument in drivers/pci.
...

Isn't all this code just using the wrong function.
Shouldn't they be using ffz() (or whatever it is called)
to find the first zero in a numeric argument rather that
find_first_zero_bit() which is intended for large bitmaps.

Perhaps the type for 'large bitmaps' should be:
struct {
unsigned long bitmap_bits[0];
} bitmap;
rather than unsigned long[].

David