On Thu, Mar 12, 2020 at 10:49:40AM +0000, David Howells wrote: > Christoph Hellwig <hch@xxxxxx> wrote: > > > > > at the end of the function - but surely iocb should be expected to have > > > > been freed when iocb->ki_complete() was called? > > > > The iocb is refcounted and only completed when the refcount hits zero, > > and an extra reference is held until the submission has completed. > > Take a look at iocb_put(). > > Ah... This is in struct aio_kiocb and not struct kiocb - that's why I missed > it. Thanks. That being said we have a few other spots using ->ki_complete for asynchronous execution, which might not be as careful. As someone having written one or two of those I have my doubts I got everthing right and will audit those. > > David ---end quoted text---