On Thu, 30 May 2019 at 15:58, Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote: > > On Thu, May 30, 2019 at 01:45:47PM +0000, Iuliana Prodan wrote: > > > > On the current structure of caamalg, to work, iv needs to be copied > > before memcpy(iv, req->iv, ivsize), from skcipher_edesc_alloc function. > > For this we need edesc, but this cannot be allocated before knowing how > > much memory we need. So, to make it work, we'll need to modify more in CAAM. > > All the copying does is: > > if (ivsize) > scatterwalk_map_and_copy(req->iv, req->src, req->cryptlen - > ivsize, ivsize, 0); > > Why do you need to allocate the edesc before doing this? > Because that is where the incoming iv is currently consumed. Copying it out like this wipes the input IV from memory.