Am Freitag, 11. August 2017, 14:51:10 CEST schrieb Tudor Ambarus: Hi Tudor, I have covered all your requests > > > + size_t used = 0; > > initialization to zero not needed. You can directly initialize to > ctx->used or don't initialize at all. It is not initialized now. We cannot use ctx->used here as the socket (and thus the ctx data structure) is not locked yet. > > + > > + /* > > + * This error covers -EIOCBQUEUED which implies that we can > > + * only handle one AIO request. If the caller wants to have > > + * multiple AIO requests in parallel, he must make multiple > > + * separate AIO calls. > > + */ > > + if (err <= 0) { > > why the equal? We must get something out of the cipher operation as otherwise something is wrong. In this case I would like to error out to prevent an endless loop here. > > +static int akcipher_setprivkey(void *private, const u8 *key, > > + unsigned int keylen) > > +{ > > + struct akcipher_tfm *tfm = private; > > + struct crypto_akcipher *akcipher = tfm->akcipher; > > + int err; > > + > > + err = crypto_akcipher_set_priv_key(akcipher, key, keylen); > > + tfm->has_key = !err; > > + > > + /* Return the maximum size of the akcipher operation. */ > > + if (!err) > > + err = crypto_akcipher_maxsize(akcipher); > > crypto subsystem returns zero when setkey is successful and introduces > a new function for determining the maxsize. Should we comply with that? The idea is that only when the the setting of the priv key fails, it returns the size of the expected privkey. Which new function are you referring to? Ciao Stephan