dm crypt: reject sector_size feature if device length is not aligned to it
If a crypt mapping uses optional sector_size feature, additional
restrictions to mapped device segment size must be applied in
constructor, otherwise the device activation will fail later.
Fixes: 8f0009a225
("dm crypt: optionally support larger encryption sector size")
Cc: stable@vger.kernel.org # 4.12+
Signed-off-by: Milan Broz <gmazyland@gmail.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
bd86e32059
commit
783874b050
|
@ -2585,6 +2585,10 @@ static int crypt_ctr_optional(struct dm_target *ti, unsigned int argc, char **ar
|
|||
ti->error = "Invalid feature value for sector_size";
|
||||
return -EINVAL;
|
||||
}
|
||||
if (ti->len & ((cc->sector_size >> SECTOR_SHIFT) - 1)) {
|
||||
ti->error = "Device size is not multiple of sector_size feature";
|
||||
return -EINVAL;
|
||||
}
|
||||
cc->sector_shift = __ffs(cc->sector_size) - SECTOR_SHIFT;
|
||||
} else if (!strcasecmp(opt_string, "iv_large_sectors"))
|
||||
set_bit(CRYPT_IV_LARGE_SECTORS, &cc->cipher_flags);
|
||||
|
|
Loading…
Reference in New Issue