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


Groups > linux.kernel > #1389538

Re: [PATCH] tty: provide tty_name() even without CONFIG_TTY

From Richard Guy Briggs <rgb@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH] tty: provide tty_name() even without CONFIG_TTY
Date 2016-04-27 22:00 +0200
Message-ID <rsDMS-6Z7-13@gated-at.bofh.it> (permalink)
References <rsuqg-7u8-27@gated-at.bofh.it> <rsAvE-47z-9@gated-at.bofh.it> <rsBrI-4Yl-25@gated-at.bofh.it> <rsCnM-5TC-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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 <rgb@redhat.com>
Kernel Security Engineering, Base Operating Systems, Red Hat
Remote, Ottawa, Canada
Voice: +1.647.777.2635, Internal: (81) 32635

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


Thread

[PATCH] tty: provide tty_name() even without CONFIG_TTY Arnd Bergmann <arnd@arndb.de> - 2016-04-27 12:00 +0200
  Re: [PATCH] tty: provide tty_name() even without CONFIG_TTY Paul Moore <paul@paul-moore.com> - 2016-04-27 18:30 +0200
    Re: [PATCH] tty: provide tty_name() even without CONFIG_TTY Arnd Bergmann <arnd@arndb.de> - 2016-04-27 19:30 +0200
      Re: [PATCH] tty: provide tty_name() even without CONFIG_TTY Peter Hurley <peter@hurleysoftware.com> - 2016-04-27 20:30 +0200
        Re: [PATCH] tty: provide tty_name() even without CONFIG_TTY Richard Guy Briggs <rgb@redhat.com> - 2016-04-27 22:00 +0200
  Re: [PATCH] tty: provide tty_name() even without CONFIG_TTY Paul Moore <paul@paul-moore.com> - 2016-04-27 23:20 +0200

csiph-web