On Wed, Sep 26, 2018 at 11:03 AM, Nick Desaulniers <ndesaulniers@xxxxxxxxxx> wrote: > On Wed, Sep 26, 2018 at 11:00 AM Matthias Kaehlcke <mka@xxxxxxxxxxxx> wrote: >> >> On Fri, Aug 31, 2018 at 09:46:02AM -0700, Nick Desaulniers wrote: >> > On Tue, Aug 28, 2018 at 4:00 PM Nick Desaulniers >> > <ndesaulniers@xxxxxxxxxx> wrote: >> > > >> > > On Mon, Aug 27, 2018 at 1:42 PM Daniel Santos <daniel.santos@xxxxxxxxx> wrote: >> > > > >> > > > Hello Nick, >> > > > >> > > > On 08/27/2018 03:09 PM, Nick Desaulniers wrote: >> > > > >>> Let's give up __compiletime_assert_fallback(). This commit does not >> > > > >>> change the current behavior since it just rips off the useless code. >> > > > >> Clang is not the only target audience of >> > > > >> __compiletime_assert_fallback(). Instead of ripping out something that >> > > > >> may benefit builds with gcc 4.2 and earlier, why not override its >> > > > > Note that with commit cafa0010cd51 ("Raise the minimum required gcc >> > > > > version to 4.6") that gcc < 4.6 is irrelevant. >> > > > >> > > > Ah, I guess I'm not keeping up, that's wonderful news! Considering that >> > > > I guess I would be OK with its removal, but I still think it would be >> > > > better if a similar mechanism to break the Clang build could be found. >> > > >> > > I'm consulting with our best language lawyers to see what combinations >> > > of _Static_assert and __builtin_constant_p would do the trick. >> > >> > Linus, >> > Can this patch be merged in the meantime? >> >> friendly ping :) >> >> With c5c2b11894f4 ("drm/i915: Warn against variable length arrays") >> clang raises plenty of vla warnings about >> __compiletime_error_fallback() in the i915 driver. Would be great to >> get rid of those without having to revert that commit. > > I've been meaning to follow up on this, thanks Matthias. I too would > really like this patch. Adding Greg to the thread. Between Masahiro's detailed commit log and the Clang-familiar reviewers, I think this should land for 4.19 (as part of the other Clang-sanity patches that are already in 4.19). This has no impact on gcc now that we're requiring 4.6+. https://lore.kernel.org/patchwork/patch/977668/ -Kees -- Kees Cook Pixel Security