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: <Zvs5SJ/dAojRneC8@kodidev-ubuntu>
Date: Mon, 30 Sep 2024 16:50:32 -0700
From: Tony Ambardar <tony.ambardar@...il.com>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: Miguel Ojeda <miguel.ojeda.sandonis@...il.com>,
	Daniel Borkmann <daniel@...earbox.net>,
	Miguel Ojeda <ojeda@...nel.org>, Jiri Olsa <jolsa@...nel.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Arnd Bergmann <arnd@...db.de>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] compiler-gcc.h: Disable __retain on gcc-11

Hello Geert,

On Tue, Sep 24, 2024 at 08:30:30PM +0200, Geert Uytterhoeven wrote:
> Hi Miguel,
> 
> On Tue, Sep 24, 2024 at 7:21 PM Miguel Ojeda
> <miguel.ojeda.sandonis@...il.com> wrote:
> > On Tue, Sep 24, 2024 at 3:55 PM Geert Uytterhoeven
> > <geert+renesas@...der.be> wrote:
> > > All my gcc-11 compilers (Ubuntu 11.4.0-1ubuntu1~22.04) claim to support
> > > the __retain__ attribute, but only riscv64-linux-gnu-gcc-11 and
> > > x86_64-linux-gnu-gcc-11 (not x86_64-linux-gnux32-gcc-11!) actually do.
> > > The arm-linux-gnueabi-gcc-11.5.0 compiler from kernel.org crosstool
> > > fails in the same way:

[snip]

> What's your definition of "all"? ;-)
> 
>   1. All compilers available on Ubuntu 22.04LTS:
> 
>       aarch64-linux-gnu-gcc-11
>       alpha-linux-gnu-gcc-11
>       arm-linux-gnueabi-gcc-11
>       arm-linux-gnueabihf-gcc-11
>       hppa64-linux-gnu-gcc-11
>       hppa-linux-gnu-gcc-11
>       i686-linux-gnu-gcc-11
>       m68k-linux-gnu-gcc-11
>       powerpc64le-linux-gnu-gcc-11
>       powerpc64-linux-gnu-gcc-11
>       powerpc-linux-gnu-gcc-11
>       riscv64-linux-gnu-gcc-11
>       s390x-linux-gnu-gcc-11
>       sh4-linux-gnu-gcc-11
>       sparc64-linux-gnu-gcc-11
>       x86_64-linux-gnu-gcc-11
>       x86_64-linux-gnux32-gcc-11
> 
>   2. A few from kernel.org crosstool:
> 
>       ia64-linux-gcc-11.1.0
>       sh2eb-linux-muslfdpic-gcc-11.2.0
>       arm-linux-gnueabi-gcc-11.5.0
> 
>   3. A compiler from the J-Core folks:
> 
>       sh2eb-linux-muslfdpic-gcc-11.2.0
> 

Thank you for testing the gcc-11 edge so thoroughly. For my testing, I
used a handful of gcc versions across 9 to 13, but ironically only
tried gcc 11 on x86_64 (which works... :-\ ).

> > > +#if GCC_VERSION < 120000
> > > +#undef __retain
> > > +#define __retain
> > > +#endif
> >
> > Should this go into the conditional in `compiler_types.h` instead? And
> > perhaps the `__has__attribute` test removed for GCC?
> 
> AFAIK, the gcc-specifics are in compiler-gcc.h...
> 

Right, I agree it's best left there.

> > Even if we keep it here, I think at least a comment there should be
> > added, since it says GCC >= 11 supports it, which can be confusing if
> > one is not aware of this other thing in this file.
> 
> Fair enough....

Yes, some clarifying text would be helpful e.g.
"Optional: only supported since gcc >= 11 (partial), clang >= 13"

Otherwise LGTM, so:

Reviewed-by: Tony Ambardar <tony.ambardar@...il.com>

> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> -- 
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ