On 07/08/2019 13:27, Pascal Van Leeuwen wrote: >> On 07/08/2019 10:15, Pascal Van Leeuwen wrote: >>> I went through the code a couple of times, but I cannot spot any mistakes in >>> the lengths I'm using. Is it possible that your application is supplying a >>> buffer that is just not large enough? >> >> Seems there is no mistake in your code, it is some bug in aesni_intel implementation. >> If I disable this module, it works as expected (with aes generic and aes_i586). >> > That's odd though, considering there is a dedicated xts-aes-ni implementation, > i.e. I would not expect that to end up at the generic xts wrapper at all? Note it is 32bit system, AESNI XTS is under #ifdef CONFIG_X86_64 so it is not used. I guess it only ECB part ... >> Seems something is rewritten in call >> crypto_skcipher_encrypt(subreq); >> >> (after that call, I see rctx->rem_bytes set to 32, that does not make sense...) >> > Eh ... no, it should never become > 15 ... if it gets set to 32 somehow, > then I can at least explain why that would result in a buffer overflow :-) Yes, that explains it. (And rewriting this value back does not help, I got different test vector output, but no crash.) Milan