Re: [PATCH 0/4] Signal: Fix hard lockup problem in flush_sigqueue()

From: Matthew Wilcox
Date: Fri Mar 22 2019 - 06:16:03 EST


On Thu, Mar 21, 2019 at 05:45:08PM -0400, Waiman Long wrote:
> It was found that if a process has accumulated sufficient number of
> pending signals, the exiting of that process may cause its parent to
> have hard lockup when running on a debug kernel with a slow memory
> freeing path (like with KASAN enabled).

I appreciate these are "reliable" signals, but why do we accumulate so
many signals to a task which will never receive them? Can we detect at
signal delivery time that the task is going to die and avoid queueing
them in the first place?