kernel: fix bad offset calculation in bitmap_check()
This commit is contained in:
@@ -34,7 +34,7 @@ void bitmap_clear(unsigned long *map, unsigned long bit)
|
||||
bool bitmap_check(unsigned long *map, unsigned long bit)
|
||||
{
|
||||
unsigned long index = bit / BITS_PER_WORD;
|
||||
unsigned long offset = bit & (BITS_PER_WORD - 1);
|
||||
unsigned long offset = (BITS_PER_WORD - bit - 1) & (BITS_PER_WORD - 1);
|
||||
unsigned long mask = 1ul << offset;
|
||||
|
||||
return (map[index] & mask) != 0 ? true : false;
|
||||
|
||||
Reference in New Issue
Block a user