The commit "epoll: use RCU to protect wakeup_source in epitem" introduced the ep_pm_stay_awake_rcu function for ep_poll_callback use, but I left it unused on accident. ep->mtx cannot be held in ep_poll_callback, so RCU should be used here. Signed-off-by: Eric Wong Cc: "Rafael J. Wysocki" Cc: Alexander Viro Cc: Andrew Morton Cc: Arve Hjønnevåg Cc: Davide Libenzi Cc: Eric Dumazet Cc: NeilBrown Cc: Oleg Nesterov --- Oops :x fs/eventpoll.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/eventpoll.c b/fs/eventpoll.c index a4e4ad7..a81f0ea 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c @@ -1028,7 +1028,7 @@ static int ep_poll_callback(wait_queue_t *wait, unsigned mode, int sync, void *k /* If this file is already in the ready list we exit soon */ if (!ep_is_linked(&epi->rdllink)) { list_add_tail(&epi->rdllink, &ep->rdllist); - ep_pm_stay_awake(epi); + ep_pm_stay_awake_rcu(epi); } /* -- Eric Wong