[devel] [PATCH hasher-priv v3 3/7] chrootuid: explicitly reset signal mask before forking off payload
Dmitry V. Levin
ldv на altlinux.org
Ср Дек 1 22:23:37 MSK 2021
On Tue, Aug 24, 2021 at 11:24:32AM +0300, Arseny Maslennikov wrote:
> Signed-off-by: Arseny Maslennikov <arseny на altlinux.org>
> ---
> hasher-priv/chrootuid.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/hasher-priv/chrootuid.c b/hasher-priv/chrootuid.c
> index 89c112e..357d3ef 100644
> --- a/hasher-priv/chrootuid.c
> +++ b/hasher-priv/chrootuid.c
> @@ -134,6 +134,11 @@ chrootuid(uid_t uid, gid_t gid, const char *ehome,
> /* Set close-on-exec flag on all non-standard descriptors. */
> cloexec_fds();
>
> + sigset_t sigmask;
> +
> + sigemptyset(&sigmask);
> + sigprocmask(SIG_SETMASK, &sigmask, NULL);
> +
> block_signal_handler(SIGCHLD, SIG_BLOCK);
>
> if ((pid = fork()) < 0)
Assuming it really should reset the signal mask (I don't have the context
to say whether it should or not), looks like it should rather be written as
block_signal_handler(SIGCHLD, SIG_SETMASK);
instead of
sigset_t sigmask;
sigemptyset(&sigmask);
sigprocmask(SIG_SETMASK, &sigmask, NULL);
block_signal_handler(SIGCHLD, SIG_BLOCK);
?
--
ldv
Подробная информация о списке рассылки Devel