Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.

From: Oleg Nesterov
Date: Wed Apr 25 2018 - 09:22:36 EST

On 04/24, Daniel Vetter wrote:
> wait_event_killabel doesn't check for fatal_signal_pending before calling
> schedule, so definitely has a nice race there.

This is fine. See the signal_pending_state() check in __schedule().

And this doesn't differ from wait_event_interruptible(), it too doesn't
check signal_pending(), we rely on schedule() which must not block if the
caller is signalled/killed.

The problem is that it is not clear what should fatal_signal_pending() or
even signal_pending() mean after exit_signals().