Merge tag 'aio-poll-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebigg...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 10 Dec 2021 22:15:39 +0000 (14:15 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 10 Dec 2021 22:15:39 +0000 (14:15 -0800)
commit0d21e6684779493d90f3dee90d4457d5b4aed8ad
tree8b4beb5cc8d10ecdd64cd16d653891349aa2c946
parentb9172f9e88446f3ede07594752c70555a2aee33f
parent4b3749865374899e115aa8c48681709b086fe6d3
Merge tag 'aio-poll-for-linus' of git://git./linux/kernel/git/ebiggers/linux

Pull aio poll fixes from Eric Biggers:
 "Fix three bugs in aio poll, and one issue with POLLFREE more broadly:

   - aio poll didn't handle POLLFREE, causing a use-after-free.

   - aio poll could block while the file is ready.

   - aio poll called eventfd_signal() when it isn't allowed.

   - POLLFREE didn't handle multiple exclusive waiters correctly.

  This has been tested with the libaio test suite, as well as with test
  programs I wrote that reproduce the first two bugs. I am sending this
  pull request myself as no one seems to be maintaining this code"

* tag 'aio-poll-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux:
  aio: Fix incorrect usage of eventfd_signal_allowed()
  aio: fix use-after-free due to missing POLLFREE handling
  aio: keep poll requests on waitqueue until completed
  signalfd: use wake_up_pollfree()
  binder: use wake_up_pollfree()
  wait: add wake_up_pollfree()