On Thu, Oct 10, 2019 at 09:51:32PM -0700, Eric Biggers wrote: > From: Eric Biggers <ebiggers@xxxxxxxxxx> > > The geode AES driver is heavily broken because it stores per-request > state in the transform context. So it will crash or produce the wrong > result if used by any of the many places in the kernel that issue > concurrent requests for the same transform object. > > This driver is also implemented using the deprecated blkcipher API, > which makes it difficult to fix, and puts it among the drivers > preventing that API from being removed. > > Convert this driver to use the skcipher API, and change it to not store > per-request state in the transform context. > > Fixes: 9fe757b0cfce ("[PATCH] crypto: Add support for the Geode LX AES hardware") > Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> > --- > > NOTE: I don't have the hardware to test this patch. Anyone who does, > please check whether it passes CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y, and > whether it still works for anything else you're using it for. > > drivers/crypto/geode-aes.c | 440 +++++++++++++------------------------ > drivers/crypto/geode-aes.h | 15 +- > 2 files changed, 149 insertions(+), 306 deletions(-) Patch applied. Thanks. -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt