eventfd: provide a eventfd_signal_mask() helper
This is identical to eventfd_signal(), but it allows the caller to pass
in a mask to be used for the poll wakeup key. The use case is avoiding
repeated multishot triggers if we have a dependency between eventfd and
io_uring.
If we setup an eventfd context and register that as the io_uring eventfd,
and at the same time queue a multishot poll request for the eventfd
context, then any CQE posted will repeatedly trigger the multishot request
until it terminates when the CQ ring overflows.
In preparation for io_uring detecting this circular dependency, add the
mentioned helper so that io_uring can pass in EPOLL_URING as part of the
poll wakeup key.
Cc: stable@vger.kernel.org # 6.0
[axboe: fold in !CONFIG_EVENTFD fix from Zhang Qilong]
Signed-off-by:
Jens Axboe <axboe@kernel.dk>
Loading
-
mentioned in commit 5ab578f7
-
mentioned in commit b1d1504f
-
mentioned in commit 5fc70711
-
mentioned in commit 273ea4ec
-
mentioned in commit 0afcaffa
-
mentioned in commit ff704844
-
mentioned in commit 8571522c
-
mentioned in commit 61eb0dbf
-
mentioned in commit 72d1c486
-
mentioned in commit 87a39555
-
mentioned in commit da2ef675
-
mentioned in commit b551a32c
-
mentioned in commit 98ba182c
-
mentioned in commit 030af6aa
-
mentioned in commit 90b90728
-
mentioned in commit 672292cb
-
mentioned in commit e17d39a2
-
mentioned in commit 19fb9843
-
mentioned in commit 9d14629d
-
mentioned in commit ac3b725e
-
mentioned in commit 503e87ad
-
mentioned in commit ab6956ac
Please sign in to comment