-
Mike Rapoport authored
When we return from epoll_run_rfds with positive return value it means that event handling loop was interrupted because the event should be handled outside of that loop. Is always the case with UFFD_EVENT_FORK. It may happen that the event occurred after we've completed the memory transfer and we are on the way to successful return from the handle_requests() function, but instead of returning 0 we will return the positive value we've got from epoll_run_rfds. Explicitly assigning return value of complete_forks() fixes this issue. Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
2ad16d4c