On 02/21/2018 05:55 PM, Ram Pai wrote:
From: Thiago Jung Bauermann bauerman@linux.vnet.ibm.com
The sig_chld() handler calls dprintf2() taking care of setting dprint_in_signal so that sigsafe_printf() won't call printf(). Unfortunately, this precaution is is negated by dprintf_level(), which has a call to fflush().
This function acquires a lock, which means that if the signal interrupts an ongoing fflush() the process will deadlock. At least on powerpc this is easy to trigger, resulting in the following backtrace when attaching to the frozen process:
Ugh, yeah, I've run into this too.
Acked-by: Dave Hansen dave.hansen@intel.com -- To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html