[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200309201842.GL12561@hirez.programming.kicks-ass.net>
Date: Mon, 9 Mar 2020 21:18:42 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>,
Steven Rostedt <rostedt@...dmis.org>,
Masami Hiramatsu <mhiramat@...nel.org>,
Alexei Starovoitov <ast@...nel.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
"Paul E. McKenney" <paulmck@...nel.org>,
Joel Fernandes <joel@...lfernandes.org>,
Frederic Weisbecker <frederic@...nel.org>,
Dan Carpenter <dan.carpenter@...cle.com>,
Josh Poimboeuf <jpoimboe@...hat.com>
Subject: Re: Instrumentation and RCU
On Mon, Mar 09, 2020 at 06:02:32PM +0100, Thomas Gleixner wrote:
> #4 Protecting call chains
>
> Our current approach of annotating functions with notrace/noprobe is
> pretty much broken.
>
> Functions which are marked NOPROBE or notrace call out into functions
> which are not marked and while this might be ok, there are enough
> places where it is not. But we have no way to verify that.
>
> That's just a recipe for disaster. We really cannot request from
> sysadmins who want to use instrumentation to stare at the code first
> whether they can place/enable an instrumentation point somewhere.
> That'd be just a bad joke.
>
> I really think we need to have proper text sections which are off
> limit for any form of instrumentation and have tooling to analyze the
> calls into other sections. These calls need to be annotated as safe
> and intentional.
So the only tool I know of that does full callchains is smatch. And in
one of my series I did prod Dan about this.
The alternative is that we bite the bullet and add a vmlinux objtool
pass. This keeps getting mentioned, so maybe it is time :/ I'd hate it,
because it will increase build time at the slowest point, but it'd get
us the coverage we need here.
Powered by blists - more mailing lists