Merge branch 'work.aio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 1 Apr 2019 15:28:36 +0000 (08:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 1 Apr 2019 15:28:36 +0000 (08:28 -0700)
commit5e7a8ca319268a70a6c7c3c1fde5bea38e1e5539
tree5b27641fa88d9e065764a1103a5c3d3e4164a32a
parentdb5481e705e207fce6188a96a935f8b7a160b944
parent7316b49c2a117ca0611bc9af779d2108b764a7f9
Merge branch 'work.aio' of git://git./linux/kernel/git/viro/vfs

Pull aio race fixes and cleanups from Al Viro.

The aio code had more issues with error handling and races with the aio
completing at just the right (wrong) time along with freeing the file
descriptor when another thread closes the file.

Just a couple of these commits are the actual fixes: the others are
cleanups to either make the fixes simpler, or to make the code legible
and understandable enough that we hope there's no more fundamental races
hiding.

* 'work.aio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  aio: move sanity checks and request allocation to io_submit_one()
  deal with get_reqs_available() in aio_get_req() itself
  aio: move dropping ->ki_eventfd into iocb_destroy()
  make aio_read()/aio_write() return int
  Fix aio_poll() races
  aio: store event at final iocb_put()
  aio: keep io_event in aio_kiocb
  aio: fold lookup_kiocb() into its sole caller
  pin iocb through aio.