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
| ||
|
Date: Thu, 29 Oct 2020 23:13:04 +0100 From: Ard Biesheuvel <ardb@...nel.org> To: Segher Boessenkool <segher@...nel.crashing.org> Cc: Arvind Sankar <nivedita@...m.mit.edu>, Alexei Starovoitov <alexei.starovoitov@...il.com>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, "open list:BPF JIT for MIPS (32-BIT AND 64-BIT)" <netdev@...r.kernel.org>, "open list:BPF JIT for MIPS (32-BIT AND 64-BIT)" <bpf@...r.kernel.org>, Arnd Bergmann <arnd@...db.de>, Nick Desaulniers <ndesaulniers@...gle.com>, Randy Dunlap <rdunlap@...radead.org>, Josh Poimboeuf <jpoimboe@...hat.com>, Thomas Gleixner <tglx@...utronix.de>, Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>, Peter Zijlstra <peterz@...radead.org>, Geert Uytterhoeven <geert@...ux-m68k.org>, Kees Cook <keescook@...omium.org>, linux-toolchains@...r.kernel.org Subject: Re: [PATCH v2 1/2] bpf: don't rely on GCC __attribute__((optimize)) to disable GCSE On Thu, 29 Oct 2020 at 21:35, Segher Boessenkool <segher@...nel.crashing.org> wrote: > > On Wed, Oct 28, 2020 at 10:57:45PM -0400, Arvind Sankar wrote: > > On Wed, Oct 28, 2020 at 04:20:01PM -0700, Alexei Starovoitov wrote: > > > All compilers have bugs. Kernel has bugs. What can go wrong? > > Heh. > > > +linux-toolchains. GCC updated the documentation in 7.x to discourage > > people from using the optimize attribute. > > > > https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=893100c3fa9b3049ce84dcc0c1a839ddc7a21387 > > https://patchwork.ozlabs.org/project/gcc/patch/20151213081911.GA320@x4/ > has all the discussion around that GCC patch. > For everyone's convenience, let me reproduce here how the GCC developers describe this attribute on their wiki [0]: """ Currently (2015), this attribute is known to have several critical bugs (PR37565, PR63401, PR60580, PR50782). Using it may produce not effect at all or lead to wrong-code. Quoting one GCC maintainer: "I consider the optimize attribute code seriously broken and unmaintained (but sometimes useful for debugging - and only that)." source Unfortunately, the people who added it are either not working on GCC anymore or not interested in fixing it. Do not try to guess how it is supposed to work by trial-and-error. There is not a list of options that are safe to use or known to be broken. Bug reports about the optimize attribute being broken will probably be closed as WONTFIX (PR59262), thus it is not worth to open new ones. If it works for you for a given version of GCC, it doesn't mean it will work on a different machine or a different version. The only realistic choices are to not use it, to use it and accept its brokenness (current or future one, since it is unmaintained), or join GCC and fix it (perhaps motivating other people along the way to join your effort). """ [0] https://gcc.gnu.org/wiki/FAQ#optimize_attribute_broken
Powered by blists - more mailing lists