Why do you have this magic number for the blocksize, and limit the code to
this value?
int crypto_alloc_xcbc_block(struct crypto_tfm *tfm)
+{
+ struct xcbc_ops *ops;
+
+ BUG_ON(!crypto_tfm_alg_blocksize(tfm));
+ if (crypto_tfm_alg_blocksize(tfm) != 16)
+ return 0;
And then also use dynamic stack arrays based on the blocksize?
int crypto_xcbc_final(struct crypto_tfm *tfm, u8 *key, unsigned int keylen, u8
*out)
+{
+ struct xcbc_ops *ops = (struct xcbc_ops*)tfm->crt_cipher.cit_xcbc_block;
+ const unsigned int bsize = crypto_tfm_alg_blocksize(tfm);
+ int ret = 0;
+
+ if (!(tfm->crt_cipher.cit_mode & CRYPTO_TFM_MODE_CBC))
+ return -EINVAL;
+
+ if (keylen != bsize)
+ return -EINVAL;
+
+ if (ops->len == bsize) {
+ u8 key2[bsize];
--
James Morris
<[EMAIL PROTECTED]>
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html