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]
Date:   Tue, 19 Dec 2017 14:38:21 -0800
From:   Vineet Gupta <>
To:     Arnd Bergmann <>
CC:     "" <>,
        Andrew Morton <>,
        "" <>,
        Mikael Starvik <>,
        "Jesper Nilsson" <>,
        Tony Luck <>,
        Fenghua Yu <>,
        Geert Uytterhoeven <>,
        "David S. Miller" <>,
        "Christopher Li" <>,
        Thomas Gleixner <>,
        "Peter Zijlstra" <>,
        Kees Cook <>,
        "Ingo Molnar" <>,
        Josh Poimboeuf <>,
        Will Deacon <>,
        "Steven Rostedt (VMware)" <>,
        "Mark Rutland" <>,
        "" <>,
        "" <>,
        "" <>,
        "" <>,
        "" <>,
        "" <>
Subject: Re: [PATCH] bug.h: Work around GCC PR82365 in BUG()

On 12/19/2017 12:13 PM, Arnd Bergmann wrote:
>> I suppose BUG() implies "dead end" like semantics - which ARC was lacking
>> before ?
> Correct. Using __builtin_trap() here avoids the 'control reaches end of non-void
> function' warnings, but then makes us run into the stack size problem that
> I work around with the barrier_before_unreachable().
> It would be good if you could give this a quick test to see if you get sensible
> output from the __builtin_trap();

It does, added a BUG() arbit, hits an abort()

ISA Extn    : atomic ll64 unalign (not used)
         : mpy[opt 9] div_rem norm barrel-shift swap minmax swape
BPU        : partial match, cache:2048, Predict Table:16384
BUG: failure at ../arch/arc/mm/tlb.c:827/arc_mmu_init()!

Tested-by: Vineet Gupta <>

FWIW newer ARC gcc actually implements the builtin so we get a trap 5 instruction 
now, vs., abort() calls before.

BTW I missed reading the hunk of your changelog where this addresses the long 
standing mystery with ARC builds and numerous -Wreturn-type warnings. I always 
wondered why they were not fixed upstream already, being too lazy to investigate 
myself, and turns out this was due to this BUG() thingy. phew !


Powered by blists - more mailing lists