Am Freitag, 23. Juni 2017, 11:06:30 CEST schrieb Stephan Müller:
Hi Herbert,
> Am Freitag, 23. Juni 2017, 08:10:48 CEST schrieb Herbert Xu:
>
> Hi Herbert,
>
> > On Wed, Jun 21, 2017 at 10:03:02PM +0200, Stephan Müller wrote:
> > > + /* convert iovecs of output buffers into RX SGL */
> > > + while (len < ctx->used && msg_data_left(msg)) {
> >
> > How are we supposed to reach the wait path when ctx->used == 0?
>
> Right.
>
> May I ask whether that wait is correct to begin with? The recvmsg is
> protected by a lock_sock. Thus, if the code is waiting, the lock is still
> held. So, how can data be inserted into the socket by sendmsg/sendpage
> while recvmsg is waiting? Don't we have a deadlock here?
Please ignore that comment. I have implemented a new test set where the
multithreaded operation of symmetric ciphers are tested. See [1]. Without the
len < ctx->used, the multithreaded behavior works as intended.
I will send an update shortly.
Thanks
Ciao
Stephan
[1] https://github.com/smuellerDD/libkcapi/commit/
18fe09d7a39ecab8669f599c06a7964c18bb1a1f