Jens Axboe
b5e683d5ca
eventfd: track eventfd_signal() recursion depth
...
eventfd use cases from aio and io_uring can deadlock due to circular
or resursive calling, when eventfd_signal() tries to grab the waitqueue
lock. On top of that, it's also possible to construct notification
chains that are deep enough that we could blow the stack.
Add a percpu counter that tracks the percpu recursion depth, warn if we
exceed it. The counter is also exposed so that users of eventfd_signal()
can do the right thing if it's non-zero in the context where it is
called.
Cc: stable@vger.kernel.org # 4.19+
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-02-03 17:27:38 -07:00
..
2020-01-25 11:31:59 -05:00
2020-01-26 08:54:04 -08:00
2019-12-05 17:11:48 -08:00
2020-01-28 15:18:23 -08:00
2020-01-21 19:02:37 +01:00
2020-01-26 19:24:17 -06:00
2019-11-23 21:44:49 -05:00
2020-01-22 14:50:03 -08:00
2020-01-14 16:14:48 +01:00
2019-12-18 18:07:31 +01:00
2019-12-11 16:36:56 +08:00
2020-01-21 16:46:23 +08:00
2019-11-30 11:16:07 -08:00
2020-01-29 15:25:34 -08:00
2020-01-28 15:31:03 -08:00
2019-12-18 18:07:31 +01:00
2020-01-16 11:09:36 +01:00
2019-12-05 13:20:11 -08:00
2019-12-18 18:07:32 +01:00
2019-12-18 18:07:32 +01:00
2019-12-18 18:07:32 +01:00
2020-01-03 10:39:08 -08:00
2019-12-05 07:41:16 -08:00
2019-11-30 10:53:02 -08:00
2019-11-29 11:29:58 +01:00
2020-01-14 16:14:47 +01:00
2020-01-29 14:55:47 -08:00
2019-12-07 16:56:00 -08:00
2019-12-18 00:03:01 -05:00
2020-01-04 13:55:09 -08:00
2019-12-04 08:52:55 -05:00
2019-12-14 11:13:54 -08:00
2020-01-29 11:20:24 -08:00
2020-01-08 17:05:45 -08:00
2019-12-18 00:03:01 -05:00
2020-01-16 16:49:29 +01:00
2020-01-22 14:49:56 -08:00
2020-01-14 13:28:28 -08:00
2019-12-25 10:43:08 +01:00
2019-12-01 14:00:59 -08:00
2019-12-04 19:44:13 -08:00
2019-12-02 18:49:30 -07:00
2020-01-24 20:40:09 +01:00
2020-01-06 20:10:26 +01:00
2019-11-30 10:44:49 -08:00
2019-12-08 11:08:28 -08:00
2020-01-04 13:55:09 -08:00
2019-12-18 00:03:01 -05:00
2020-02-03 17:27:38 -07:00
2020-01-29 15:45:47 -07:00
2019-12-03 12:20:25 -08:00
2019-12-08 11:08:28 -08:00
2020-01-29 19:38:34 -08:00
2020-01-22 14:47:15 -08:00
2020-01-29 18:53:37 -08:00
2020-01-30 12:40:37 -07:00
2020-01-29 13:46:44 -07:00
2020-01-29 13:46:44 -07:00
2020-01-03 09:42:52 +01:00
2019-12-29 09:00:58 -05:00
2020-01-03 09:42:52 +01:00
2020-01-09 08:16:12 -07:00
2020-01-29 11:20:24 -08:00
2020-01-04 13:55:09 -08:00
2020-01-29 11:20:24 -08:00
2020-01-20 17:01:53 -07:00
2019-12-22 09:47:47 -08:00
2020-01-04 13:55:09 -08:00
2020-01-23 18:20:48 +01:00
2020-01-23 10:15:28 -08:00
2019-12-07 13:21:01 -08:00
2019-12-08 14:37:36 +01:00
2020-01-20 17:03:54 -07:00
2019-12-18 00:03:01 -05:00
2020-01-14 12:20:53 +01:00
2019-12-01 20:36:41 -08:00