Re: [PATCH 0/2] fix the traced mt-exec deadlock

From: Oleg Nesterov
Date: Fri Feb 24 2017 - 11:12:33 EST


Eric,

our discussion was a bit confusing, and it seems that we did not
fully convince each other. So let me ask what do you finally think
about this fix.

Let me repeat. Even if I do not agree with some of your objections,
I do agree that 1/2 does not look nice and clean. And we seem to
agree that either way, with or without this fix, we need more changes
in this area.

But we need a simple and backportable fix for stable trees, say for
rhel7. This bug was reported many times, and this is the simplest
solution I was able to find.

Oleg.


On 02/13, Oleg Nesterov wrote:
>
> Hello,
>
> Lets finally fix this problem, it was reported several times. I still think that
> in the longer term we should (try to) rework the security hooks and (partially)
> revert this change, but this is not trivial and we need something backportable
> anyway.
>
> Eric, Jann, we already discussed this change. 1/2 is the same patch I suggested 3
> months ago except now it compiles and moves flush_signal_handlers() to de_thread().
>
> Both patches ask for subsequent cleanups, see the changelogs.
>
> Oleg.
>
> arch/x86/ia32/ia32_aout.c | 3 ++
> fs/binfmt_aout.c | 3 ++
> fs/binfmt_elf.c | 6 ++-
> fs/binfmt_elf_fdpic.c | 4 ++
> fs/binfmt_flat.c | 3 ++
> fs/exec.c | 128 +++++++++++++++++++++++-----------------------
> include/linux/binfmts.h | 1 +
> kernel/exit.c | 5 +-
> kernel/signal.c | 21 +++++---
> 9 files changed, 101 insertions(+), 73 deletions(-)