On Wed, 9 Apr 2014 19:05:42 +0200 Oleg Nesterov <o...@redhat.com> wrote:
> syscall_regfunc() and syscall_unregfunc() should set/clear > TIF_SYSCALL_TRACEPOINT system-wide, but do_each_thread() can race > with copy_process() and miss the new child which was not added to > init_task.tasks list yet. > > Change copy_process() to update the child's TIF_SYSCALL_TRACEPOINT > under tasklist. > > While at it, > > - remove _irqsafe from syscall_regfunc/syscall_unregfunc, > read_lock(tasklist) doesn't need to disable irqs. > > - change syscall_unregfunc() to check PF_KTHREAD to skip > the kernel threads, ->mm != NULL is the common mistake. > > Note: probably this check should be simply removed, needs > another patch. > > Signed-off-by: Oleg Nesterov <o...@redhat.com> BTW, how important is this fix? Something we should aim for the current merge window? stable? Or can it wait till 3.16? -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/