Merge commit 'jwb/merge' into merge
[firefly-linux-kernel-4.4.55.git] / kernel / exit.c
index 13ae64001fec08774f13653f619e7b9de95cbd1d..628d41f0dd54ed163e32f2d4d2e9ec6909ccd2ab 100644 (file)
@@ -1197,8 +1197,11 @@ static int wait_task_zombie(struct wait_opts *wo, struct task_struct *p)
        }
 
        traced = ptrace_reparented(p);
-
-       if (likely(!traced)) {
+       /*
+        * It can be ptraced but not reparented, check
+        * !task_detached() to filter out sub-threads.
+        */
+       if (likely(!traced) && likely(!task_detached(p))) {
                struct signal_struct *psig;
                struct signal_struct *sig;