]> Git Repo - linux.git/commit
dm mirror log: round up region bitmap size to BITS_PER_LONG
authorMikulas Patocka <[email protected]>
Thu, 16 Jun 2022 17:28:57 +0000 (13:28 -0400)
committerMike Snitzer <[email protected]>
Thu, 16 Jun 2022 23:39:29 +0000 (19:39 -0400)
commit85e123c27d5cbc22cfdc01de1e2ca1d9003a02d0
treeac5f5270006dc9c408fb1393a6b5f16dcd949431
parent1ee88de395c3ad6791c4baeba40e83b6ec97657a
dm mirror log: round up region bitmap size to BITS_PER_LONG

The code in dm-log rounds up bitset_size to 32 bits. It then uses
find_next_zero_bit_le on the allocated region. find_next_zero_bit_le
accesses the bitmap using unsigned long pointers. So, on 64-bit
architectures, it may access 4 bytes beyond the allocated size.

Fix this bug by rounding up bitset_size to BITS_PER_LONG.

This bug was found by running the lvm2 testsuite with kasan.

Fixes: 29121bd0b00e ("[PATCH] dm mirror log: bitset_size fix")
Cc: [email protected]
Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Mike Snitzer <[email protected]>
drivers/md/dm-log.c
This page took 0.055873 seconds and 4 git commands to generate.