On 07-02-2018 13:12, Stephan Müller wrote: > Hi Herbert, > > Herbert, the patch 1 is meant for stable. However, this patch as is > only applies to the new AF_ALG interface implementation. Though, > the issue goes back to the first implementation of AIO support. > Shall I try prepare a patch for the old AF_ALG implementation > as well? > > Changes from v1: > > * integrate the inline IV and locking patch into one patch set > > * reverse the order of lock context IV patch and inline IV patch -- > the reason is to allow the first patch to be back-ported to stable > > * mark the first patch (locking of the context IV) as applicable to > stable as there is an existing inconsistency which was demonstrated > by Harsh with the Chelsio driver vs the AES-NI driver > > * modify the inline IV patch to have proper unlocking of the mutex > in case of errors > > * prevent locking if no IV is defined by cipher > > * add a patch to allow crypto drivers to report whether they support > serialization -- in this case the locking in AF_ALG shall be > disabled > > * add a patch to inform the crypto drivers that their serialization > support should actually be enabled and used because AF_ALG does not > serialize the interdependent parallel AIO requests > > * streamline the code in patch 1 and 2 slightly > > I would like to ask the folks with real AIO hardware (Harsh, Jonathan) > to test the patches. Especially, is the locking patch should be tested > by Harsh as you have seen the issue with your hardware. Sure I will test the patch and let you know. > > Thanks. > > Stephan Mueller (4): > crypto: AF_ALG AIO - lock context IV > crypto: AF_ALG - inline IV support > crypto: AF_ALG - allow driver to serialize IV access > crypto: add CRYPTO_TFM_REQ_PARALLEL flag > > crypto/af_alg.c | 119 +++++++++++++++++++++++++++++++++++++++++++- > crypto/algif_aead.c | 86 +++++++++++++++++--------------- > crypto/algif_skcipher.c | 38 ++++++++++---- > include/crypto/if_alg.h | 37 ++++++++++++++ > include/linux/crypto.h | 16 ++++++ > include/uapi/linux/if_alg.h | 6 ++- > 6 files changed, 249 insertions(+), 53 deletions(-) >