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. Arnd