crypto: lrw - Fix big endian support
[safe/jmp/linux-2.6] / crypto / des_generic.c
index 5d0e458..5bd3ee3 100644 (file)
@@ -868,9 +868,10 @@ static int des3_ede_setkey(struct crypto_tfm *tfm, const u8 *key,
        u32 *flags = &tfm->crt_flags;
 
        if (unlikely(!((K[0] ^ K[2]) | (K[1] ^ K[3])) ||
-                    !((K[2] ^ K[4]) | (K[3] ^ K[5]))))
+                    !((K[2] ^ K[4]) | (K[3] ^ K[5]))) &&
+                    (*flags & CRYPTO_TFM_REQ_WEAK_KEY))
        {
-               *flags |= CRYPTO_TFM_RES_BAD_KEY_SCHED;
+               *flags |= CRYPTO_TFM_RES_WEAK_KEY;
                return -EINVAL;
        }