Am Freitag, 13. Januar 2017, 18:21:45 CET schrieb Herbert Xu: Hi Herbert, > On Thu, Jan 12, 2017 at 05:19:57PM +0100, Stephan Müller wrote: > > > I don't understand, what's wrong with: > > > > > > sendmsg(fd, ...) > > > aio_read(iocb1) > > > sendmsg(fd, ...) > > > aio_read(iocb2) > > > > Sure, that works. But here you limit yourself to one IOCB per aio_read. > > But > > aio_read supports multiple IOCBs in one invocation. And this is the issue > > I am considering. > > Not really. You just lay it out in the same way with lio_listio. > That is, a write followed by read, etc. According to the man page of lio_listio(3) the provided AIO operations are executed in an unspecified order. I would infer from that statement that even if an order of write / read / write / read is defined by the caller, this order may not be followed by the kernel. Thus we would need to consider the case that in the end, algif has to process the order of write / write / read / read or any other order. Besides, the crashes I reported for the current AIO implementation in algif_aead and algif_skcipher are always triggered when invoking an aio_read with two or more IOCBs. The most important aspect I want to cover with the patch set is to stop crashing the kernel. Ciao Stephan -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html