Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752797AbcD0T5q (ORCPT ); Wed, 27 Apr 2016 15:57:46 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44994 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752432AbcD0T5p (ORCPT ); Wed, 27 Apr 2016 15:57:45 -0400 Date: Wed, 27 Apr 2016 15:57:40 -0400 From: Richard Guy Briggs To: Peter Hurley Cc: Arnd Bergmann , Paul Moore , Greg Kroah-Hartman , Jiri Slaby , Rasmus Villemoes , linux-kernel@vger.kernel.org Subject: Re: [PATCH] tty: provide tty_name() even without CONFIG_TTY Message-ID: <20160427195740.GC18994@madcap2.tricolour.ca> References: <1461750975-2735137-1-git-send-email-arnd@arndb.de> <7168707.KQDjLLKe2j@wuerfel> <5721030E.7000304@hurleysoftware.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5721030E.7000304@hurleysoftware.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2171 Lines: 52 On 16/04/27, Peter Hurley wrote: > On 04/27/2016 10:24 AM, Arnd Bergmann wrote: > > On Wednesday 27 April 2016 12:20:02 Paul Moore wrote: > >>> diff --git a/include/linux/tty.h b/include/linux/tty.h > >>> index 3b09f235db66..17b247c94440 100644 > >>> --- a/include/linux/tty.h > >>> +++ b/include/linux/tty.h > >>> @@ -371,6 +371,7 @@ extern void proc_clear_tty(struct task_struct *p); > >>> extern struct tty_struct *get_current_tty(void); > >>> /* tty_io.c */ > >>> extern int __init tty_init(void); > >>> +extern const char *tty_name(const struct tty_struct *tty); > >>> #else > >>> static inline void console_init(void) > >>> { } > >>> @@ -391,6 +392,8 @@ static inline struct tty_struct *get_current_tty(void) > >>> /* tty_io.c */ > >>> static inline int __init tty_init(void) > >>> { return 0; } > >>> +static inline const char *tty_name(const struct tty_struct *tty) > >>> +{ return "(none)"; } > >>> #endif > >> > >> As it currently stands tty_name() returns "NULL tty" when the passed > >> tty_struct is NULL while this patch returns "(none)" in the case of > >> CONFIG_TTY=n; it seems like some consistency might be good, yes? Or > >> do you think there is value in differentiating between the two cases? > >> > >> From an audit point of view, we would prefer if both were "(none)". > > > > Right, I noticed that the audit code prints "(none)" here while the > > tty code prints "NULL tty", and that meant I could not make it behave > > the same way as all the existing code. I picked "(none)" because > > in case of CONFIG_TTY being disabled that is more logical: it's > > not a NULL pointer because something went wrong, but instead the > > pointer doesn't matter and we know there is no tty. > > Apologies for not having foreseen this in the review. > Arnd's solution looks good to me. Thanks for catching this Arnd, this solution looks good to me. It didn't occur to me that tty could go away, though I should have noticed that for the prototype for tty_kref_put(). - RGB -- Richard Guy Briggs Kernel Security Engineering, Base Operating Systems, Red Hat Remote, Ottawa, Canada Voice: +1.647.777.2635, Internal: (81) 32635