The patch titled taskstats: add_del_listener() should ignore !valid listeners has been added to the -mm tree. Its filename is taskstats-add_del_listener-should-ignore-valid-listeners.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: taskstats: add_del_listener() should ignore !valid listeners From: Oleg Nesterov <oleg@xxxxxxxxxx> When send_cpu_listeners() finds the orphaned listener it marks it as !valid and drops listeners->sem. Before it takes this sem for writing, s->pid can be reused and add_del_listener() can wrongly try to re-use this entry. Change add_del_listener() to check ->valid = T. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Vasiliy Kulikov <segoon@xxxxxxxxxxxx> Acked-by: Balbir Singh <bsingharora@xxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/taskstats.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN kernel/taskstats.c~taskstats-add_del_listener-should-ignore-valid-listeners kernel/taskstats.c --- a/kernel/taskstats.c~taskstats-add_del_listener-should-ignore-valid-listeners +++ a/kernel/taskstats.c @@ -304,7 +304,7 @@ static int add_del_listener(pid_t pid, c listeners = &per_cpu(listener_array, cpu); down_write(&listeners->sem); list_for_each_entry(s2, &listeners->list, list) { - if (s2->pid == pid) + if (s2->pid == pid && s2->valid) goto exists; } list_add(&s->list, &listeners->list); _ Patches currently in -mm which might be from oleg@xxxxxxxxxx are origin.patch linux-next.patch proc_fork_connector-a-lockless-real_parent-usage-is-not-safe.patch ipc-introduce-shm_rmid_forced-sysctl-testing.patch taskstats-add_del_listener-shouldnt-use-the-wrong-node.patch taskstats-add_del_listener-should-ignore-valid-listeners.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html