On Sun, Apr 22, 2018 at 10:54:23PM +0100, Ben Hutchings wrote:
offset = blk - group_first_block;
- if (!ext4_test_bit(EXT4_B2C(sbi, offset), bh->b_data))
- if (offset < 0 || EXT4_B2C(sbi, offset) >= sb->s_blocksize ||
!ext4_test_bit(EXT4_B2C(sbi, offset), bh->b_data))
Isn't sb->s_blocksize a count of bytes? If so, doesn't that mean that we should be comparing with sb->s_blocksize * 8?
Yes, nice catch, Ben! Can we temporarily drop this patch from the stable queue until I can get a fix in?
In practice this shouldn't be a problem because of the default ext4 layout with flex_bg. But we should definitely get this fixed before we let this flow into the stable kernel.
- Ted