summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2025-01-07 17:27:24 +0100
committerChristian Brauner <brauner@kernel.org>2025-01-10 11:58:59 +0100
commit10b02a2cfec2f106db4897ad87732db56d71e6fd (patch)
tree06b136a7fb28bb8f591820ac1b453993ea24fbbb /include
parentpoll_wait: add mb() to fix theoretical race between waitqueue_active() and .p... (diff)
downloadlinux-10b02a2cfec2f106db4897ad87732db56d71e6fd.tar.xz
linux-10b02a2cfec2f106db4897ad87732db56d71e6fd.zip
poll_wait: kill the obsolete wait_address check
This check is historical and no longer needed, wait_address is never NULL. These days we rely on the poll_table->_qproc check. NULL if select/poll is not going to sleep, or it already has a data to report, or all waiters have already been registered after the 1st iteration. However, poll_table *p can be NULL, see p9_fd_poll() for example, so we can't remove the "p != NULL" check. Link: https://lore.kernel.org/all/20250106180325.GF7233@redhat.com/ Signed-off-by: Oleg Nesterov <oleg@redhat.com> Link: https://lore.kernel.org/r/20250107162724.GA18926@redhat.com Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/poll.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/poll.h b/include/linux/poll.h
index fc641b50f129..57b6d1ccd8bf 100644
--- a/include/linux/poll.h
+++ b/include/linux/poll.h
@@ -41,7 +41,7 @@ typedef struct poll_table_struct {
static inline void poll_wait(struct file * filp, wait_queue_head_t * wait_address, poll_table *p)
{
- if (p && p->_qproc && wait_address) {
+ if (p && p->_qproc) {
p->_qproc(filp, wait_address, p);
/*
* This memory barrier is paired in the wq_has_sleeper().