On Mon, Jul 29, 2019 at 10:16:48PM +0000, Pascal Van Leeuwen wrote: > > > EINVAL is for invalid lengths while EBADMSG is for inauthentic inputs. > > Inauthentic test vectors aren't yet automatically generated (even after this > > patch), so I don't think EBADMSG should be seen here. Are you sure there isn't > > a bug in your patch that's causing this? > > > As far as I understand it, the output of the encryption is fed back in to > decrypt. However, if the encryption didn't work due to blocksize mismatch, > there would not be any valid encrypted and authenticated data written out. > So, if the (generic) driver checks that for decryption, it would result in > -EINVAL. If it wouldn't check that, it would try to decrypt and authentica > te the data, which would almost certainly result in a tag mismatch and > thus an -EBADMSG error being reported. > > So actually, the witnessed issue can be perfectly explained from a missing > block size check in aesni. The same input can indeed fail for multiple reasons. I think in such cases it is unreasonable to expect all implementations to return the same error value. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt