On Thu, Jun 6, 2019 at 7:09 AM Oleg Nesterov <oleg@xxxxxxxxxx> wrote: > > do_poll() returns -EINTR if interrupted and after that all its callers > have to translate it into -ERESTARTNOHAND. Change do_poll() to return > -ERESTARTNOHAND and update (simplify) the callers. Ack. The *right* return value will actually be then chosen by poll_select_copy_remaining(), which will turn ERESTARTNOHAND to EINTR when it can't update the timeout. Except for the cases that use restart_block and do that instead and don't have the whole timeout restart issue as a result. Linus