Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1507100

Re: hit a KASan bug related to Perf during stress test

From Oleg Nesterov <oleg@redhat.com>
Newsgroups linux.kernel
Subject Re: hit a KASan bug related to Perf during stress test
Date 2016-10-24 13:20 +0200
Message-ID <svLsl-6Te-5@gated-at.bofh.it> (permalink)
References <svKd0-5NX-5@gated-at.bofh.it> <svKd0-5NX-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 10/24, Peter Zijlstra wrote:
>
> > [32738.867020]  [<ffffffff810d9975>] task_tgid_nr_ns+0x35/0xb0
>
> So here we did: perf_event_[pt]id(event, current);
>
> How can _current_ not be valid anymore?

...

> > [32739.040207]  [<ffffffff81135a4c>] __call_rcu+0x12c/0x450
>
> And while we just called release_task(), that call_rcu() should still be
> pending at this point,

Yes, current is still valid.

But nothing protects current->group_leader or parent/real_parent, they
can point to the exited/freed task. We really need to nullify them in
__unhash_process() to catch the problems like this, I wanted to do this
many times...

So you simply can't know your tgid or even tid after release_task() calls
__unhash_process(). Actually after exit_notify() unless the exiting task
autoreaps itself.

How about the trivial fix below?

Oleg.

--- x/kernel/events/core.c
+++ x/kernel/events/core.c
@@ -1257,7 +1257,7 @@ static u32 perf_event_pid(struct perf_ev
 	if (event->parent)
 		event = event->parent;
 
-	return task_tgid_nr_ns(p, event->ns);
+	return pid_alive(p) ? task_tgid_nr_ns(p, event->ns) : 0;
 }
 
 static u32 perf_event_tid(struct perf_event *event, struct task_struct *p)

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 12:00 +0200
  Re: hit a KASan bug related to Perf during stress test Oleg Nesterov <oleg@redhat.com> - 2016-10-24 13:20 +0200
    Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 13:30 +0200
      Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 13:40 +0200
        Re: hit a KASan bug related to Perf during stress test Jiri Olsa <jolsa@redhat.com> - 2016-10-24 14:10 +0200
          Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 14:20 +0200
    Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 13:30 +0200
      Re: hit a KASan bug related to Perf during stress test Oleg Nesterov <oleg@redhat.com> - 2016-10-24 14:10 +0200
        Re: hit a KASan bug related to Perf during stress test Oleg Nesterov <oleg@redhat.com> - 2016-10-24 14:20 +0200
          Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 14:30 +0200
            Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 14:40 +0200
              Re: hit a KASan bug related to Perf during stress test Oleg Nesterov <oleg@redhat.com> - 2016-10-24 15:30 +0200
                Re: hit a KASan bug related to Perf during stress test Oleg Nesterov <oleg@redhat.com> - 2016-10-24 15:50 +0200
                Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 16:20 +0200
                Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 16:40 +0200
                Re: hit a KASan bug related to Perf during stress test Oleg Nesterov <oleg@redhat.com> - 2016-10-24 17:50 +0200
                Re: hit a KASan bug related to Perf during stress test Oleg Nesterov <oleg@redhat.com> - 2016-10-24 18:00 +0200
                RE: hit a KASan bug related to Perf during stress test "Ni, BaoleX" <baolex.ni@intel.com> - 2016-10-25 09:00 +0200
                Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-25 11:30 +0200
                Re: hit a KASan bug related to Perf during stress test Oleg Nesterov <oleg@redhat.com> - 2016-10-25 16:50 +0200
                Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-26 11:10 +0200
                Re: hit a KASan bug related to Perf during stress test Oleg Nesterov <oleg@redhat.com> - 2016-10-26 18:20 +0200
            Re: hit a KASan bug related to Perf during stress test Oleg Nesterov <oleg@redhat.com> - 2016-10-24 14:40 +0200
        Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 14:20 +0200
    Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 14:20 +0200
      Re: hit a KASan bug related to Perf during stress test Peter Zijlstra <peterz@infradead.org> - 2016-10-24 14:30 +0200
      Re: hit a KASan bug related to Perf during stress test Oleg Nesterov <oleg@redhat.com> - 2016-10-24 14:30 +0200

csiph-web