@@ -2470,7 +2470,8 @@ SYSCALL_DEFINE4(epoll_ctl, int, epfd, int, op, int, fd,
}
int epoll_wait(struct file *file, struct epoll_event __user *events,
- int maxevents, struct timespec64 *to)
+ int maxevents, struct timespec64 *to,
+ struct wait_queue_entry *wait)
{
struct eventpoll *ep;
@@ -2509,7 +2510,7 @@ static int do_epoll_wait(int epfd, struct epoll_event __user *events,
/* Get the "struct file *" for the eventpoll file */
CLASS(fd, f)(epfd);
if (!fd_empty(f))
- return epoll_wait(fd_file(f), events, maxevents, to);
+ return epoll_wait(fd_file(f), events, maxevents, to, NULL);
return -EBADF;
}
@@ -27,7 +27,8 @@ void eventpoll_release_file(struct file *file);
/* Use to reap events */
int epoll_wait(struct file *file, struct epoll_event __user *events,
- int maxevents, struct timespec64 *to);
+ int maxevents, struct timespec64 *to,
+ struct wait_queue_entry *wait);
/* Remove wait entry */
int epoll_wait_remove(struct file *file, struct wait_queue_entry *wait);
In preparation for allowing an outside caller to add itself to the epoll waitqueue, pass in a struct wait_queue_entry. Unused in its current form, but will be utilized shortly. No intended functional changes in this patch. Signed-off-by: Jens Axboe <axboe@kernel.dk> --- fs/eventpoll.c | 5 +++-- include/linux/eventpoll.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-)