I think the main problem might be my lack of understanding how IVs are handled by the kernel crypto framework. It seems the omap-aes.c driver is indicating to the crypto framework that it wants IV generation to be handled automatically by the crypto framework by filling this field .geniv = "eseqiv". Is there a way I can tell the kernel crypto framework to stop handling IV generation? Even if I remove the .geniv field it gets set with a default value by the crypto framework. I have tried .geniv = "<built-in>" but then when I make a crypto call it does not use the driver anymore. What are the required things I must do if I set .geniv = "<built-in>" ? static struct crypto_alg algs[] = { { .cra_name = "ctr(aes)", .cra_driver_name = "ctr-aes-omap", .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | CRYPTO_ALG_KERN_DRIVER_ONLY | CRYPTO_ALG_ASYNC, .cra_u.ablkcipher = { .geniv = "eseqiv", On Tue, Nov 10, 2015 at 11:24 PM, Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote: > Orlando <orlcp440@xxxxxxxxx> wrote: >> Hello, I am new to the crypto framework in linux kernel and mailing >> list in general. I am porting a driver omap-aes.c to my platform and >> having problems with IV being modified against my will. I am doing >> AES-128-CTR and I need the IV to increment by 1 every 16 bytes. >> Instead some garbage IV is being returned to me after I do an encrypt >> operation. >> >> I have no idea how the IV is being manipulated since the omap-aes.c >> driver accepts and write the IV to the Hardware that comes from upper >> layers but it never writes it back to the upper layers after doing >> encryption. > > The omap-aes is probably buggy in this regard. The crypto selftest > system isn't currently testing this so a number of buggy drivers > have slipped through. > > If you can send us a patch to fix this it would be great. Otherwise > I will be working through the drivers during the skcipher conversion. > > Thanks, > -- > Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> > Home Page: http://gondor.apana.org.au/~herbert/ > PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- 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