Re: Bug in geode-aes.c ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2009/11/12 Sergey Mironov <ierton@xxxxxxxxx>:
> 2009/11/12 Sebastian Andrzej Siewior <linux-crypto@xxxxxxxxxxxxxxxx>:
>> * Sergey Mironov | 2009-11-10 17:00:31 [+0300]:
>>
>>> 116 static int geode_setkey_cip(struct crypto_tfm *tfm, const u8 *key,
>>> 117                 unsigned int len)
>>> 118 {
>>>...
>>>
>>>/** BUG? Should it be 'op->fallback.cip' instead of 'op->fallback.blk' ?  **/
>>>
>>> 138         op->fallback.blk->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK;
>>> 139         op->fallback.blk->base.crt_flags |= (tfm->crt_flags &
>>>CRYPTO_TFM_REQ_MASK);
>>>
>>>...
>>>
>>> 144                 tfm->crt_flags |=
>>>(op->fallback.blk->base.crt_flags & CRYPTO_TFM_RES_MASK);
>>> 145         }
>>> 146         return ret;
>>
>> Yup, good catch. It has to be cip instead of blk. I've copy/pasted it
>> and the same bug is in s390's crypto driver. No one noticed it because
>> both structs are equal, just the name / type is different.
>> Do you mind sending a patch?
>>
>> Sebastian
>>
>
> Hi. Ok, here is geode-patch
> --
>  Sergey
>
>
> From 0a61b446585324a3041ef0a138515ef936a14eb7 Mon Sep 17 00:00:00 2001
> From: Sergey Mironov <ierton@xxxxxxxxx>
> Date: Thu, 12 Nov 2009 11:30:02 +0300
> Subject: [PATCH] Fixed typo bugs in geod-aes.c
>
>
> Signed-off-by: Sergey Mironov <ierton@xxxxxxxxx>
> ---
>  drivers/crypto/geode-aes.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/crypto/geode-aes.c b/drivers/crypto/geode-aes.c
> index 4801162..03e71b1 100644
> --- a/drivers/crypto/geode-aes.c
> +++ b/drivers/crypto/geode-aes.c
> @@ -135,8 +135,8 @@ static int geode_setkey_cip(struct crypto_tfm
> *tfm, const u8 *key,
>        /*
>         * The requested key size is not supported by HW, do a fallback
>         */
> -       op->fallback.blk->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK;
> -       op->fallback.blk->base.crt_flags |= (tfm->crt_flags & CRYPTO_TFM_REQ_MASK);
> +       op->fallback.cip->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK;
> +       op->fallback.cip->base.crt_flags |= (tfm->crt_flags & CRYPTO_TFM_REQ_MASK);
>
>        ret = crypto_cipher_setkey(op->fallback.cip, key, len);
>        if (ret) {
> @@ -263,7 +263,7 @@ static int fallback_init_cip(struct crypto_tfm *tfm)
>
>        if (IS_ERR(op->fallback.cip)) {
>                printk(KERN_ERR "Error allocating fallback algo %s\n", name);
> -               return PTR_ERR(op->fallback.blk);
> +               return PTR_ERR(op->fallback.cip);
>        }
>
>        return 0;
> --
> 1.6.4.4
>

I can't find any "s390" reference in my tree. Probably, i have not got
this branch in my local copy.
-- 
Sergey
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux