Re: [PATCH 2/9] signal/seccomp: Refactor seccomp signal and coredump generation

From
Eric W. Biederman <hidden>
Date
2021-06-28 19:21:42
Also in
linux-alpha, linux-m68k, lkml
Kees Cook [off-list ref] writes:
On Thu, Jun 24, 2021 at 01:59:55PM -0500, Eric W. Biederman wrote:
quoted
Factor out force_sig_seccomp from the seccomp signal generation and
place it in kernel/signal.c.  The function force_sig_seccomp takes a
paramter force_coredump to indicate that the sigaction field should be
reset to SIGDFL so that a coredump will be generated when the signal
is delivered.
Ah! This is the part I missed when I was originally trying to figure
out the coredump stuff. It's the need for setting a default handler
(i.e. doing a coredump)?
Yes.  If we don't force the handler to SIG_DFL someone might catch
SIGSYS.
quoted
force_sig_seccomp is then used to replace both seccomp_send_sigsys
and seccomp_init_siginfo.

force_sig_info_to_task gains an extra parameter to force using
the default signal action.

With this change seccomp is no longer a special case and there
becomes exactly one place do_coredump is called from.
Looks good to me. This may benefit from force_sig_seccomp() to be wrapped
in an #ifdef CONFIG_SECCOMP.
At which point Linus will probably be grumpy with me for introducing
#ifdefs.

I suspect seccomp at this point is sufficiently common that is probably
more productive to figure out how to remove #ifdef  CONFIG_SECCOMP.
(This patch reminds me that the seccomp self tests don't check for core
dumps...)
This patch is slightly wrong in that it kept the call to do_group_exit
when it can never be reached.

Eric

Thread (1 message) 1 message, 1 author, last reply 2021-06-28
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help