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] [thread-next>] [day] [month] [year] [list]
Message-ID: <a5a2e4cec65ef59f8065527cfd2232252fe8a8aa.camel@physik.fu-berlin.de>
Date: Thu, 21 Mar 2024 20:45:46 +0100
From: John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>
To: Mike Gilbert <floppym@...too.org>
Cc: "David S. Miller" <davem@...emloft.net>, Andreas Larsson
 <andreas@...sler.com>, sparclinux@...r.kernel.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH] sparc: move struct termio to asm/termios.h

Hi Mike,

On Wed, 2024-03-06 at 12:11 -0500, Mike Gilbert wrote:
> Every other arch declares struct termio in asm/termios.h, so make sparc
> match them.
> 
> Resolves a build failure in the PPP software package, which includes
> both bits/ioctl-types.h via sys/ioctl.h (glibc) and asm/termbits.h.
> 
> Closes: https://bugs.gentoo.org/918992
> Signed-off-by: Mike Gilbert <floppym@...too.org>
> Cc: stable@...r.kernel.org
> ---
>  arch/sparc/include/uapi/asm/termbits.h | 10 ----------
>  arch/sparc/include/uapi/asm/termios.h  |  9 +++++++++
>  2 files changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/sparc/include/uapi/asm/termbits.h b/arch/sparc/include/uapi/asm/termbits.h
> index 4321322701fc..0da2b1adc0f5 100644
> --- a/arch/sparc/include/uapi/asm/termbits.h
> +++ b/arch/sparc/include/uapi/asm/termbits.h
> @@ -10,16 +10,6 @@ typedef unsigned int	tcflag_t;
>  typedef unsigned long	tcflag_t;
>  #endif
>  
> -#define NCC 8
> -struct termio {
> -	unsigned short c_iflag;		/* input mode flags */
> -	unsigned short c_oflag;		/* output mode flags */
> -	unsigned short c_cflag;		/* control mode flags */
> -	unsigned short c_lflag;		/* local mode flags */
> -	unsigned char c_line;		/* line discipline */
> -	unsigned char c_cc[NCC];	/* control characters */
> -};
> -
>  #define NCCS 17
>  struct termios {
>  	tcflag_t c_iflag;		/* input mode flags */
> diff --git a/arch/sparc/include/uapi/asm/termios.h b/arch/sparc/include/uapi/asm/termios.h
> index ee86f4093d83..cceb32260881 100644
> --- a/arch/sparc/include/uapi/asm/termios.h
> +++ b/arch/sparc/include/uapi/asm/termios.h
> @@ -40,5 +40,14 @@ struct winsize {
>  	unsigned short ws_ypixel;
>  };
>  
> +#define NCC 8
> +struct termio {
> +	unsigned short c_iflag;		/* input mode flags */
> +	unsigned short c_oflag;		/* output mode flags */
> +	unsigned short c_cflag;		/* control mode flags */
> +	unsigned short c_lflag;		/* local mode flags */
> +	unsigned char c_line;		/* line discipline */
> +	unsigned char c_cc[NCC];	/* control characters */
> +};
>  
>  #endif /* _UAPI_SPARC_TERMIOS_H */

This should also fix the build of u-boot on sparc64 which fails due to 'struct termio'
being redefined [1]:

In file included from /<<PKGBUILDDIR>>/tools/termios_linux.h:33,
                 from /<<PKGBUILDDIR>>/tools/kwboot.c:153:
/usr/lib/linux/uapi/sparc/asm/termbits.h:14:8: error: redefinition of 'struct termio'
   14 | struct termio {
      |        ^~~~~~
In file included from /usr/include/sparc64-linux-gnu/sys/ioctl.h:29,
                 from /<<PKGBUILDDIR>>/tools/termios_linux.h:30:
/usr/include/sparc64-linux-gnu/bits/ioctl-types.h:36:8: note: originally defined here
   36 | struct termio
      |        ^~~~~~

Adrian

> [1] https://buildd.debian.org/status/fetch.php?pkg=u-boot&arch=sparc64&ver=2024.01%2Bdfsg-3&stamp=1711031586&raw=0

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ