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?

Reply via email to