Re: [RFC][PATCH 2/7][v4] Protect init from unwanted signals more

From: Oleg Nesterov
Date: Wed Dec 24 2008 - 11:37:08 EST


On 12/24, Sukadev Bhattiprolu wrote:
>
> -static int sig_ignored(struct task_struct *t, int sig)
> +static int sig_task_ignored(struct task_struct *t, int sig)
> {
> void __user *handler;
>
> + handler = sig_handler(t, sig);
> +
> + if (unlikely(t->signal->flags & SIGNAL_UNKILLABLE) &&
> + (handler == SIG_IGN || handler == SIG_DFL))
> + return 1;
> +
> + return sig_handler_ignored(handler, sig);

Well, really minor nit, but can't resist ;)

if we check both SIG_IGN and SIG_DFL, then why do we call
sig_handler_ignored() ? We can do

if (unlikely(t->signal->flags & SIGNAL_UNKILLABLE))
return handler == SIG_IGN || handler == SIG_DFL;
return sig_handler_ignored(handler, sig);

Or, we can do

if (unlikely(t->signal->flags & SIGNAL_UNKILLABLE) &&
handler == SIG_DFL)
return 1;
return sig_handler_ignored(handler, sig);

because sig_handler_ignored() checks SIG_IGN too.

Of course, this is a matter of taste only...

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/