From: Matthias Kaehlcke fs/eventpoll.c: use list_for_each_entry() instead of list_for_each() in ep_poll_safewake() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton --- fs/eventpoll.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff -puN fs/eventpoll.c~fs-eventpollc-use-list_for_each_entry-instead-of-list_for_each fs/eventpoll.c --- a/fs/eventpoll.c~fs-eventpollc-use-list_for_each_entry-instead-of-list_for_each +++ a/fs/eventpoll.c @@ -325,15 +325,14 @@ static void ep_poll_safewake(struct poll int wake_nests = 0; unsigned long flags; struct task_struct *this_task = current; - struct list_head *lsthead = &psw->wake_task_list, *lnk; + struct list_head *lsthead = &psw->wake_task_list; struct wake_task_node *tncur; struct wake_task_node tnode; spin_lock_irqsave(&psw->lock, flags); /* Try to see if the current task is already inside this wakeup call */ - list_for_each(lnk, lsthead) { - tncur = list_entry(lnk, struct wake_task_node, llink); + list_for_each_entry(tncur, lsthead, llink) { if (tncur->wq == wq || (tncur->task == this_task && ++wake_nests > EP_MAX_POLLWAKE_NESTS)) { _