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/