diff options
author | Amit Pundir <amit.pundir@linaro.org> | 2013-11-15 12:56:31 +0530 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-12-03 15:35:52 +0100 |
commit | 95f19f658ce177387345b51bd48fed7b9cd7d4e8 (patch) | |
tree | 90ab9da7e5f8033a9133293f6793916e65a758be | |
parent | dc1ccc48159d63eca5089e507c82c7d22ef60839 (diff) | |
download | op-kernel-dev-95f19f658ce177387345b51bd48fed7b9cd7d4e8.zip op-kernel-dev-95f19f658ce177387345b51bd48fed7b9cd7d4e8.tar.gz |
epoll: drop EPOLLWAKEUP if PM_SLEEP is disabled
Drop EPOLLWAKEUP from epoll events mask if CONFIG_PM_SLEEP is disabled.
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | fs/eventpoll.c | 3 | ||||
-rw-r--r-- | include/uapi/linux/eventpoll.h | 13 |
2 files changed, 13 insertions, 3 deletions
diff --git a/fs/eventpoll.c b/fs/eventpoll.c index 79b65c3..8b5e258 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c @@ -1852,8 +1852,7 @@ SYSCALL_DEFINE4(epoll_ctl, int, epfd, int, op, int, fd, goto error_tgt_fput; /* Check if EPOLLWAKEUP is allowed */ - if ((epds.events & EPOLLWAKEUP) && !capable(CAP_BLOCK_SUSPEND)) - epds.events &= ~EPOLLWAKEUP; + ep_take_care_of_epollwakeup(&epds); /* * We have to check that the file structure underneath the file descriptor diff --git a/include/uapi/linux/eventpoll.h b/include/uapi/linux/eventpoll.h index 2c267bc..bc81fb2 100644 --- a/include/uapi/linux/eventpoll.h +++ b/include/uapi/linux/eventpoll.h @@ -61,5 +61,16 @@ struct epoll_event { __u64 data; } EPOLL_PACKED; - +#ifdef CONFIG_PM_SLEEP +static inline void ep_take_care_of_epollwakeup(struct epoll_event *epev) +{ + if ((epev->events & EPOLLWAKEUP) && !capable(CAP_BLOCK_SUSPEND)) + epev->events &= ~EPOLLWAKEUP; +} +#else +static inline void ep_take_care_of_epollwakeup(struct epoll_event *epev) +{ + epev->events &= ~EPOLLWAKEUP; +} +#endif #endif /* _UAPI_LINUX_EVENTPOLL_H */ |