On 16/04/2021 05:05, Damien Le Moal wrote:
[...]
+ CRYPT_IV_NO_SECTORS, /* IV calculation does not use sectors */
[...]
- if (ivmode == NULL)
+ if (ivmode == NULL) {
cc->iv_gen_ops = NULL;
- else if (strcmp(ivmode, "plain") == 0)
+ set_bit(CRYPT_IV_NO_SECTORS, &cc->cipher_flags);
+ } else if (strcmp(ivmode, "plain") == 0)
[...]
+ if (!test_bit(CRYPT_IV_NO_SECTORS, &cc->cipher_flags)) {
+ DMWARN("Zone append is not supported with sector-based IV cyphers");
+ ti->zone_append_not_supported = true;
+ }
I think this negation is hard to follow, at least I had a hard time
reviewing it.
Wouldn't it make more sense to use CRYPT_IV_USE_SECTORS, set the bit
for algorithms that use sectors as IV (like plain64) and then do a
normal
if (test_bit(CRYPT_IV_USE_SECTORS, &cc->cipher_flags)) {
DMWARN("Zone append is not supported with sector-based IV cyphers");
ti->zone_append_not_supported = true;
}
i.e. without the double negation?