block = lba + alignment;
rem = do_div(block, granularity);
- set_bit(block, map_storep);
+ if (block < map_size)
+ set_bit(block, map_storep);
lba += granularity - rem;
}
block = lba + alignment;
rem = do_div(block, granularity);
- if (rem == 0 && lba + granularity <= end)
+ if (rem == 0 && lba + granularity <= end &&
+ block < map_size)
clear_bit(block, map_storep);
lba += granularity - rem;