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.