[sudo-workers] sudo waits on poll forever after SIGCHILD

Radovan Sroka rsroka at redhat.com
Fri Jun 29 06:34:26 MDT 2018


Hi Todd,

I've verified that your patch is resolving my problem.

Thank you.

On Thu, Jun 28, 2018 at 5:40 PM Todd C. Miller <Todd.Miller at sudo.ws> wrote:

> Fedora is still shipping sudo 1.8.22 so is missing the following fix.
> It should backport to 1.8.19 easily.
>
>  - todd
>
> diff -r 39b58e206a15 src/exec_pty.c
> --- a/src/exec_pty.c    Mon Jan 15 10:31:53 2018 -0700
> +++ b/src/exec_pty.c    Thu Jun 28 09:35:53 2018 -0600
> @@ -754,6 +754,10 @@ pty_close(struct command_status *cstat)
>      int n;
>      debug_decl(pty_close, SUDO_DEBUG_EXEC);
>
> +    /* Close the pty slave first so reads from the master don't block. */
> +    if (io_fds[SFD_SLAVE] != -1)
> +       close(io_fds[SFD_SLAVE]);
> +
>      /* Flush any remaining output (the plugin already got it). */
>      if (io_fds[SFD_USERTTY] != -1) {
>         n = fcntl(io_fds[SFD_USERTTY], F_GETFL, 0);
> @@ -781,6 +785,11 @@ pty_close(struct command_status *cstat)
>      /* Update utmp */
>      if (utmp_user != NULL)
>         utmp_logout(slavename, cstat->type == CMD_WSTATUS ? cstat->val :
> 0);
> +
> +    /* Close pty master. */
> +    if (io_fds[SFD_MASTER] != -1)
> +       close(io_fds[SFD_MASTER]);
> +
>      debug_return;
>  }
>
> --
--
---------------------------------------------------------

Radovan Sroka
Associate Software Engineer | Security Technologies | Red hat, Inc.


More information about the sudo-workers mailing list