Commits
Pavel Emelianov authored fd4ac130a1f
Fix of signal_struct->curr_target value after __exit_signal(). When task calls __exit_signal() it moves curr_target pointer on the next thread. If task isn'\''t changed - this pointer must be set to NULL. Otherwise race: sys_execve() sys_kill() ... ... de_thread() switch_exec_pids() /* at this point thread and leader * have shared signal_struct but splitted * (empty) pids lists */ release_task() sig->curr_target = next_thread(tsk); /* at this point curr_target is set to * tsk since it'\''s PID_TYPE_TGID list is * empty */ ... ___group_complete_signal() `- t = p->signal->curr_target /* t is the task which tries to * exit on the 1st cpu so its * memory may already be freed */"