Messages in this thread | | | Date | Thu, 10 Apr 2014 15:33:05 +0200 | From | Oleg Nesterov <> | Subject | Re: [PATCH RESEND 1/2] tracing: syscall_*regfunc() can race with copy_process() |
| |
On 04/10, Steven Rostedt wrote: > > On Wed, 9 Apr 2014 19:05:42 +0200 > Oleg Nesterov <oleg@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 <oleg@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?
I think this all can wait till 3.16. The problem is really minor.
Oleg.
| |