dm_target_crypt - fix logic for xts support
authorAlex Hornung <ahornung@gmail.com>
Sat, 21 Aug 2010 16:33:27 +0000 (17:33 +0100)
committerAlex Hornung <ahornung@gmail.com>
Sat, 21 Aug 2010 16:33:27 +0000 (17:33 +0100)
sys/dev/disk/dm/dm_target_crypt.c

index 0d906e4..dae220c 100644 (file)
@@ -536,9 +536,8 @@ dm_target_crypt_init(dm_dev_t * dmv, void **target_config, char *params)
                return ENOENT;
        }
 
-       if ((strcmp(crypto_mode, "cbc") != 0) ||
-           ((strcmp(crypto_mode, "xts") == 0) && (strcmp(crypto_alg, "aes") != 0)))
-       
+       if ((strcmp(crypto_mode, "cbc") != 0) &&
+           !((strcmp(crypto_mode, "xts") == 0) && (strcmp(crypto_alg, "aes") == 0)))
        {
                kprintf("dm_target_crypt: only support 'cbc' chaining mode"
                    " and aes-xts, invalid mode '%s-%s'\n",