Jens Axboe
4ef66581d7
eventfd: provide a eventfd_signal_mask() helper
...
[ Upstream commit 03e02acda8 ]
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 >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2023-01-04 11:39:24 +01:00
..
2022-12-19 12:27:32 +01:00
2022-12-02 17:40:03 +01:00
2022-06-09 10:21:15 +02:00
2022-06-14 18:32:41 +02:00
2022-08-21 15:16:09 +02:00
2022-11-03 23:57:54 +09:00
2022-12-08 11:23:57 +01:00
2022-08-21 15:16:16 +02:00
2022-12-02 17:40:00 +01:00
2022-08-31 17:15:17 +02:00
2022-11-25 17:45:41 +01:00
2022-05-15 20:00:08 +02:00
2023-01-04 11:39:23 +01:00
2022-05-18 10:23:48 +02:00
2022-10-26 13:25:31 +02:00
2022-10-26 13:25:35 +02:00
2022-04-08 14:40:44 +02:00
2022-07-29 17:19:25 +02:00
2022-08-21 15:15:45 +02:00
2022-08-21 15:15:36 +02:00
2022-11-16 09:57:09 +01:00
2022-08-03 12:00:52 +02:00
2022-09-15 11:32:02 +02:00
2022-07-21 21:20:00 +02:00
2022-12-14 11:31:57 +01:00
2022-10-15 07:55:51 +02:00
2022-10-15 07:55:51 +02:00
2022-10-15 07:55:51 +02:00
2022-04-08 14:40:45 +02:00
2022-07-25 11:26:40 +02:00
2022-05-30 09:33:36 +02:00
2022-09-15 11:32:03 +02:00
2022-07-07 17:52:17 +02:00
2022-05-25 09:17:55 +02:00
2022-10-26 13:25:34 +02:00
2022-11-10 18:14:27 +01:00
2023-01-04 11:39:22 +01:00
2023-01-04 11:39:18 +01:00
2022-04-27 13:53:45 +02:00
2023-01-04 11:39:24 +01:00
2022-07-12 16:32:18 +02:00
2023-01-04 11:39:17 +01:00
2023-01-04 11:39:18 +01:00
2022-06-09 10:20:49 +02:00
2022-12-19 12:27:30 +01:00
2022-11-10 18:14:25 +01:00
2022-12-14 11:31:59 +01:00
2022-05-30 09:33:36 +02:00
2022-09-28 11:10:35 +02:00
2023-01-04 11:39:23 +01:00
2022-10-26 13:25:42 +02:00
2022-04-13 21:00:56 +02:00
2022-06-14 18:32:44 +02:00
2022-05-09 09:04:59 +02:00
2022-07-21 21:20:11 +02:00
2022-08-21 15:16:08 +02:00
2022-10-30 09:41:15 +01:00
2022-08-21 15:15:33 +02:00
2022-06-09 10:21:09 +02:00
2022-06-09 10:21:09 +02:00
2022-06-09 10:21:18 +02:00
2022-12-14 11:31:59 +01:00
2022-07-12 16:32:18 +02:00
2022-08-21 15:15:21 +02:00
2022-05-15 20:00:09 +02:00
2023-01-04 11:39:16 +01:00
2023-01-04 11:39:24 +01:00
2022-05-18 10:23:42 +02:00
2022-09-28 11:10:35 +02:00
2022-04-13 21:01:03 +02:00
2022-08-25 11:38:20 +02:00
2022-06-14 18:32:45 +02:00
2022-07-25 11:26:47 +02:00
2022-09-23 14:16:58 +02:00
2022-10-26 13:25:23 +02:00
2022-08-21 15:16:18 +02:00
2022-06-22 14:13:20 +02:00
2022-06-06 08:42:41 +02:00
2022-07-12 16:32:18 +02:00
2022-05-30 09:33:43 +02:00
2022-06-09 10:20:49 +02:00
2022-05-30 09:33:45 +02:00
2022-06-29 08:59:44 +02:00
2022-11-25 17:45:49 +01:00
2022-09-05 10:28:56 +02:00
2022-07-12 16:32:22 +02:00
2023-01-04 11:39:23 +01:00
2022-06-09 10:21:09 +02:00
2022-10-26 13:25:36 +02:00
2022-11-10 18:14:14 +01:00
2022-05-30 09:33:43 +02:00
2022-10-26 13:25:55 +02:00
2022-09-05 10:28:56 +02:00
2023-01-04 11:39:17 +01:00
2022-11-25 17:45:54 +01:00
2022-05-12 12:25:32 +02:00
2023-01-04 11:39:23 +01:00
2023-01-04 11:39:23 +01:00
2022-10-26 13:25:23 +02:00
2022-06-09 10:21:11 +02:00
2022-05-30 09:33:41 +02:00
2022-08-21 15:16:22 +02:00
2023-01-04 11:39:22 +01:00
2022-07-29 17:19:28 +02:00
2022-08-25 11:38:14 +02:00
2023-01-04 11:39:16 +01:00
2022-09-08 11:11:40 +02:00
2022-08-21 15:16:07 +02:00
2022-08-21 15:15:29 +02:00