[PATCH 4/7] fs/userfaultfd: Use exclusive waitqueue for poll()

From: Peter Xu
Date: Tue Sep 05 2023 - 17:45:06 EST


Userfaultfd is the kind of fd that does not need a wake all semantics when
wake up. Enqueue using the new POLL_ENQUEUE_EXCLUSIVE flag.

Signed-off-by: Peter Xu <peterx@xxxxxxxxxx>
---
fs/userfaultfd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c
index f7fda7d0c994..9c39adc398fc 100644
--- a/fs/userfaultfd.c
+++ b/fs/userfaultfd.c
@@ -994,7 +994,7 @@ static __poll_t userfaultfd_poll(struct file *file, poll_table *wait)
struct userfaultfd_ctx *ctx = file->private_data;
__poll_t ret;

- poll_wait(file, &ctx->fd_wqh, wait);
+ poll_wait_exclusive(file, &ctx->fd_wqh, wait);

if (!userfaultfd_is_initialized(ctx))
return EPOLLERR;
--
2.41.0