Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753064AbbF3MyA (ORCPT ); Tue, 30 Jun 2015 08:54:00 -0400 Received: from mail-wg0-f51.google.com ([74.125.82.51]:32896 "EHLO mail-wg0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752595AbbF3Mxn (ORCPT ); Tue, 30 Jun 2015 08:53:43 -0400 Date: Tue, 30 Jun 2015 14:53:38 +0200 From: Ingo Molnar To: Borislav Petkov Cc: Andy Lutomirski , x86@kernel.org, linux-kernel@vger.kernel.org, =?iso-8859-1?Q?Fr=E9d=E9ric?= Weisbecker , Rik van Riel , Oleg Nesterov , Denys Vlasenko , Kees Cook , Brian Gerst , paulmck@linux.vnet.ibm.com Subject: Re: [PATCH v4 04/17] context_tracking: Add ct_state and CT_WARN_ON Message-ID: <20150630125338.GA18196@gmail.com> References: <5da41fb2ceb29eac671f427c67040401ba2a1fa0.1435602481.git.luto@kernel.org> <20150630122047.GD23297@pd.tnic> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150630122047.GD23297@pd.tnic> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2565 Lines: 73 * Borislav Petkov wrote: > On Mon, Jun 29, 2015 at 12:33:36PM -0700, Andy Lutomirski wrote: > > This will let us sprinkle sanity checks around the kernel without > > making too much of a mess. > > > > Signed-off-by: Andy Lutomirski > > --- > > include/linux/context_tracking.h | 15 +++++++++++++++ > > include/linux/context_tracking_state.h | 1 + > > 2 files changed, 16 insertions(+) > > > > diff --git a/include/linux/context_tracking.h b/include/linux/context_tracking.h > > index b96bd299966f..008fc67d0d96 100644 > > --- a/include/linux/context_tracking.h > > +++ b/include/linux/context_tracking.h > > @@ -49,13 +49,28 @@ static inline void exception_exit(enum ctx_state prev_ctx) > > } > > } > > > > + > > +/** > > + * ct_state() - return the current context tracking state if known > > + * > > + * Returns the current cpu's context tracking state if context tracking > > CPU's > > > + * is enabled. If context tracking is disabled, returns > > + * CONTEXT_DISABLED. This should be used primarily for debugging. > > + */ > > +static inline enum ctx_state ct_state(void) > > +{ > > + return context_tracking_is_enabled() ? > > + this_cpu_read(context_tracking.state) : CONTEXT_DISABLED; > > +} > > #else > > static inline void user_enter(void) { } > > static inline void user_exit(void) { } > > static inline enum ctx_state exception_enter(void) { return 0; } > > static inline void exception_exit(enum ctx_state prev_ctx) { } > > +static inline enum ctx_state ct_state(void) { return CONTEXT_DISABLED; } > > #endif /* !CONFIG_CONTEXT_TRACKING */ > > > > +#define CT_WARN_ON(cond) WARN_ON(context_tracking_is_enabled() && (cond)) > > Btw, that "CT_" prefix makes this look like it is the software > controlling this thing: > > https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/UPMCEast_CTscan.jpg/1280px-UPMCEast_CTscan.jpg > > :-) > > Other kernel code uses "cxt" or "ctxt" abbreviations. Maybe > > CTXT_WARN_ON(cond) So this really looks too much like 'TXT' - which is very far from what it tries to express. So we should either use a CTX_TRACK_ prefix that is unambiguous, or live with CT_ and its ambiguity. (There's another ambiguity it has: 'ct' stands for 'connection tracking' in the networking code.) Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/