The patch titled wait_task_* cleanups: use copy_wait_opts_to_user() in wait_task_continued() has been added to the -mm tree. Its filename is wait_task_-cleanups-use-copy_wait_opts_to_user-in-wait_task_continued.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: wait_task_* cleanups: use copy_wait_opts_to_user() in wait_task_continued() From: Vitaly Mayatskikh <v.mayatskih@xxxxxxxxx> All copy-paste getrusage() and put_user() code in wait_task_* functions is replaced by call to copy_wait_opts_to_user() It makes no sense to do conditional siginfo's fill, copy_wait_opts_to_user() knows how to handle it right. Signed-off-by: Vitaly Mayatskikh <v.mayatskih@xxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Roland McGrath <roland@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/exit.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff -puN kernel/exit.c~wait_task_-cleanups-use-copy_wait_opts_to_user-in-wait_task_continued kernel/exit.c --- a/kernel/exit.c~wait_task_-cleanups-use-copy_wait_opts_to_user-in-wait_task_continued +++ a/kernel/exit.c @@ -1422,19 +1422,16 @@ static int wait_task_continued(struct wa get_task_struct(p); read_unlock(&tasklist_lock); - if (!wo->wo_info) { - retval = wo->wo_rusage - ? getrusage(p, RUSAGE_BOTH, wo->wo_rusage) : 0; - put_task_struct(p); - if (!retval && wo->wo_stat) - retval = put_user(0xffff, wo->wo_stat); - if (!retval) - retval = pid; - } else { - retval = wait_noreap_copyout(wo, p, pid, uid, - CLD_CONTINUED, SIGCONT); - BUG_ON(retval == 0); - } + retval = copy_wait_opts_to_user(wo, p, pid, uid, + CLD_CONTINUED, SIGCONT, SIGCHLD); + put_task_struct(p); + + if (!retval && wo->wo_stat) + retval = put_user(0xffff, wo->wo_stat); + if (!retval) + retval = pid; + + BUG_ON(retval == 0); return retval; } _ Patches currently in -mm which might be from v.mayatskih@xxxxxxxxx are libata-avoid-world-writable-sysfs-files.patch wait_task_-cleanups-split-wait_noreap_copyout.patch wait_task_-cleanups-use-copy_wait_opts_to_user-in-wait_task_stopped.patch wait_task_-cleanups-use-copy_wait_opts_to_user-in-do_wait.patch wait_task_-cleanups-use-copy_wait_opts_to_user-in-wait_task_zombie.patch wait_task_-cleanups-use-copy_wait_opts_to_user-in-wait_task_continued.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