Re: [PATCH v13 02/13] eventfd: Export eventfd_wake_count to modules

Jason Wang
2021-09-01T02:52:09Z

在 2021/8/31 下午6:36, Xie Yongji 写道:
> Export eventfd_wake_count so that some modules can use
> the eventfd_signal_count() to check whether the
> eventfd_signal() call should be deferred to a safe context.
>
> Signed-off-by: Xie Yongji <xieyongji@bytedance.com>

And this matches the comment inside eventfd_signal():

/*
* Deadlock or stack overflow issues can happen if we recurse here
* through waitqueue wakeup handlers. If the caller users
potentially
* nested waitqueues with custom wakeup handlers, then it should
* check eventfd_signal_count() before calling this function. If
* it returns true, the eventfd_signal() call should be
deferred to a
* safe context.
*/

So:

Acked-by: Jason Wang <jasowang@redhat.com>

> ---
> fs/eventfd.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/eventfd.c b/fs/eventfd.c
> index e265b6dd4f34..1b3130b8d6c1 100644
> --- a/fs/eventfd.c
> +++ b/fs/eventfd.c
> @@ -26,6 +26,7 @@
> #include <linux/uio.h>
>
> DEFINE_PER_CPU(int, eventfd_wake_count);
> +EXPORT_PER_CPU_SYMBOL_GPL(eventfd_wake_count);
>
> static DEFINE_IDA(eventfd_ida);
>