Re: Is ext4_dio_read_iter() broken? - and xfs_file_dio_aio_read()
From: Christoph Hellwig <hch@lst.de>
Date: 2020-03-12 10:53:49
Also in:
linux-ext4, linux-fsdevel
From: Christoph Hellwig <hch@lst.de>
Date: 2020-03-12 10:53:49
Also in:
linux-ext4, linux-fsdevel
On Thu, Mar 12, 2020 at 10:49:40AM +0000, David Howells wrote:
Christoph Hellwig [off-list ref] wrote:quoted
quoted
quoted
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---