Re: Cryptomgr race vs built-in aesni

From: Josh Boyer
Date: Thu Aug 11 2011 - 13:53:17 EST


> Fedora has had a bug[1] open for a while with people seeing this upon boot:

> [ 0.807387] alg: skcipher: Failed to load transform for ecb-aes-aesni: -2

> We're still seeing it with the 3.0 kernel, so I poked at it today.

<snip>

> So it seems that the aesni module is trying to register the ecb(aes) alg
> and before that completes (or something?) the test gets scheduled and
> tries to do a CRYPTO_MSG_ALG_REQUEST on something that hasn't
> finished it's module_init function yet. Eventually the aesni_init function
> completes successfully (the last printk), so I'm assuming that the
> module is still present but that particular algorithm is listed as unavailable.

Ok, so it's not what I thought it was. I did some more investigation today,
and it seems that the ablk_ebc_alg is missing the ivsize setting and the
crypto stack doesn't like that on a CRYPTO_ALG_TYPE_BLKCIPHER type. I added
ivsize = AES_BLOCK_SIZE, and the error message goes away entirely. This also
matches how ablk_cbc_alg works now, so I'm somewhat guessing this is correct.

My understanding of the crypto layer is at best non-existent, so if I'm wrong
please shout. I'll send a patch sortly.

josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/