EP-F6AA0618C49C4AEDA73BFF1B39950BAB Hi Oleg, >> Hi, >> >> From: Maninder Singh >> >> Subject: [PATCH 1/1] kernel/exit.c : Fix missing task_unlock >> >> This patch adds missing read_unlock if do_wait_thread or ptrace_do_wait >> returns non zero. > >Confused... > >wait_consider_task() should drop tasklist_lock if it returns non-zero? > > >> --- a/kernel/exit.c >> +++ b/kernel/exit.c >> @@ -1486,12 +1486,16 @@ repeat: >> tsk = current; >> do { >> retval = do_wait_thread(wo, tsk); >> - if (retval) >> + if (retval) { >> + read_unlock(&tasklist_lock); >> goto end; >> + } >> >> retval = ptrace_do_wait(wo, tsk); >> - if (retval) >> + if (retval) { >> + read_unlock(&tasklist_lock); >> goto end; >> + } > >Well, the patch is obviously wrong. Because, again, tasklist_lock was >already unlocked if (say) wait_task_zombie() reaps a child. Yes, agree, My wrong >If you think there is a case which forgets to unlock, please tell us >more. I have checked It is getting unlocked in wait_task_zombie Sorry for unnecessary disturbance. >Oleg. Thanks ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ¥Šwÿº{.nÇ+‰·¥Š{±þG«�éÿŠ{ayºʇڙë,j­¢f£¢·hš�ï�êÿ‘êçz_è®(­éšŽŠÝ¢j"�ú¶m§ÿÿ¾«þG«�éÿ¢¸?™¨è­Ú&£ø§~�á¶iO•æ¬z·švØ^¶m§ÿÿà ÿ¶ìÿ¢¸?–I¥