On Wed, Aug 26, 2020 at 02:58:02PM +0200, Andrew Zaborowski wrote:
Running iwd's and ell's unit tests I can see that at least the following algorithms give EINVAL errors: ecb(aes) cbc(aes) ctr(aes)
The first one fails in recv() and only for some input lengths. The latter two fail in send(). The relevant ell code starts at https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ell/cipher.c#n271
The tests didn't get to the point where aead is used.
Yes ell needs to set MSG_MORE after sending the control message. Any sendmsg(2) without a MSG_MORE will be interpreted as the end of a request.
I'll work around this in the kernel though for the case where there is no actual data, with a WARN_ON_ONCE.
Thanks,