Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757506AbcJXMTJ (ORCPT ); Mon, 24 Oct 2016 08:19:09 -0400 Received: from merlin.infradead.org ([205.233.59.134]:55686 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756858AbcJXMTG (ORCPT ); Mon, 24 Oct 2016 08:19:06 -0400 Date: Mon, 24 Oct 2016 14:19:05 +0200 From: Peter Zijlstra To: Oleg Nesterov Cc: "Ni, BaoleX" , "mingo@redhat.com" , "acme@kernel.org" , "linux-kernel@vger.kernel.org" , "alexander.shishkin@linux.intel.com" , "Liu, Chuansheng" Subject: Re: hit a KASan bug related to Perf during stress test Message-ID: <20161024121905.GL3102@twins.programming.kicks-ass.net> References: <318B87A793BE164187D8851D6CE09D64371C8811@shsmsx102.ccr.corp.intel.com> <20161024095341.GF3102@twins.programming.kicks-ass.net> <20161024111526.GA13509@redhat.com> <20161024112402.GI3102@twins.programming.kicks-ass.net> <20161024120231.GA16554@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161024120231.GA16554@redhat.com> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 917 Lines: 33 On Mon, Oct 24, 2016 at 02:02:32PM +0200, Oleg Nesterov wrote: > Perhaps. Or into task_tgid(). Or even the patch below, __task_pid_nr_ns() > is always safe. This certainly needs some cleanups. > --- x/include/linux/pid.h > +++ x/include/linux/pid.h > @@ -8,7 +8,8 @@ enum pid_type > PIDTYPE_PID, > PIDTYPE_PGID, > PIDTYPE_SID, > - PIDTYPE_MAX > + PIDTYPE_MAX, > + PIDTYPE_TGID /* do not use */ > }; > > /* > --- x/kernel/pid.c > +++ x/kernel/pid.c > @@ -538,7 +538,7 @@ EXPORT_SYMBOL(__task_pid_nr_ns); > > pid_t task_tgid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns) > { > - return pid_nr_ns(task_tgid(tsk), ns); > + return __task_pid_nr_ns(tsk, PIDTYPE_TGID, ns); > } > EXPORT_SYMBOL(task_tgid_nr_ns); > > Right, that will return 0 on !alive. But I'm not seeing how PIDTYPE_TGID isn't an array bound violating of its own though. Then again, I didn't look to hard at the pid stuff.