summaryrefslogtreecommitdiffstats
path: root/fs/select.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2017-07-03 20:14:56 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2017-11-27 16:19:54 -0500
commit3ad6f93e98d6df25d0667d847d3ab9cbdccb3eae (patch)
tree8b52d66806f02c815198e962758ac4199d9ee6e0 /fs/select.c
parente6c8adca20ba459dd88057ca74232bf9f1045075 (diff)
downloadlinux-3ad6f93e98d6df25d0667d847d3ab9cbdccb3eae.tar.gz
linux-3ad6f93e98d6df25d0667d847d3ab9cbdccb3eae.tar.bz2
linux-3ad6f93e98d6df25d0667d847d3ab9cbdccb3eae.zip
annotate poll-related wait keys
__poll_t is also used as wait key in some waitqueues. Verify that wait_..._poll() gets __poll_t as key and provide a helper for wakeup functions to get back to that __poll_t value. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/select.c')
-rw-r--r--fs/select.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/select.c b/fs/select.c
index b2bf84be5056..ffc16fd3673e 100644
--- a/fs/select.c
+++ b/fs/select.c
@@ -212,7 +212,7 @@ static int pollwake(wait_queue_entry_t *wait, unsigned mode, int sync, void *key
struct poll_table_entry *entry;
entry = container_of(wait, struct poll_table_entry, wait);
- if (key && !((unsigned long)key & entry->key))
+ if (key && !(key_to_poll(key) & entry->key))
return 0;
return __pollwake(wait, mode, sync, key);
}