posix-cpu-timers: Stop disabling timers on mt-exec
authorEric W. Biederman <ebiederm@xmission.com>
Fri, 28 Feb 2020 17:15:03 +0000 (11:15 -0600)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 4 Mar 2020 08:54:55 +0000 (09:54 +0100)
commitb95e31c07c5eb4f5c0769f12b38b0343d7961040
treeb46651b5891959200b4effb93354d0f0db521e0c
parent55e8c8eb2c7b6bf30e99423ccfe7ca032f498f59
posix-cpu-timers: Stop disabling timers on mt-exec

The reasons why the extra posix_cpu_timers_exit_group() invocation has been
added are not entirely clear from the commit message.  Today all that
posix_cpu_timers_exit_group() does is stop timers that are tracking the
task from firing.  Every other operation on those timers is still allowed.

The practical implication of this is posix_cpu_timer_del() which could
not get the siglock after the thread group leader has exited (because
sighand == NULL) would be able to run successfully because the timer
was already dequeued.

With that locking issue fixed there is no point in disabling all of the
timers.  So remove this ``tempoary'' hack.

Fixes: e0a70217107e ("posix-cpu-timers: workaround to suppress the problems with mt exec")
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/87o8tityzs.fsf@x220.int.ebiederm.org
kernel/exit.c