lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9390347.RmVTbbrBHm@sifl>
Date:	Wed, 27 Apr 2016 17:18:43 -0400
From:	Paul Moore <paul@...l-moore.com>
To:	Arnd Bergmann <arnd@...db.de>
Cc:	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	Jiri Slaby <jslaby@...e.com>,
	Richard Guy Briggs <rgb@...hat.com>,
	Peter Hurley <peter@...leysoftware.com>,
	Rasmus Villemoes <linux@...musvillemoes.dk>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] tty: provide tty_name() even without CONFIG_TTY

On Wednesday, April 27, 2016 11:56:04 AM Arnd Bergmann wrote:
> The audit subsystem just started printing the name of the tty,
> but that causes a build failure when CONFIG_TTY is disabled:
> 
> kernel/built-in.o: In function `audit_log_task_info':
> memremap.c:(.text+0x5e34c): undefined reference to `tty_name'
> kernel/built-in.o: In function `audit_set_loginuid':
> memremap.c:(.text+0x63b34): undefined reference to `tty_name'
> 
> This adds tty_name() to the list of functions that are provided
> as trivial stubs in that configuration.
> 
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> Fixes: db0a6fb5d97a ("audit: add tty field to LOGIN event")
> ---
>  include/linux/tty.h | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)

Applied to the audit#next branch, thanks!

> 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
> 
>  extern struct ktermios tty_std_termios;
> @@ -415,7 +418,6 @@ static inline struct tty_struct *tty_kref_get(struct
> tty_struct *tty) return tty;
>  }
> 
> -extern const char *tty_name(const struct tty_struct *tty);
>  extern const char *tty_driver_name(const struct tty_struct *tty);
>  extern void tty_wait_until_sent(struct tty_struct *tty, long timeout);
>  extern int __tty_check_change(struct tty_struct *tty, int sig);

-- 
paul moore
www.paul-moore.com

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ