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]
Date:   Thu, 2 Apr 2020 10:40:14 -0700
From:   Linus Torvalds <torvalds@...ux-foundation.org>
To:     Borislav Petkov <bp@...en8.de>
Cc:     Thomas Gleixner <tglx@...utronix.de>,
        Ingo Molnar <mingo@...nel.org>,
        Al Viro <viro@...iv.linux.org.uk>,
        Andy Lutomirski <luto@...capital.net>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Peter Zijlstra <a.p.zijlstra@...llo.nl>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Michael Matz <matz@...e.de>
Subject: Re: [GIT PULL] x86 cleanups for v5.7

On Thu, Apr 2, 2020 at 10:24 AM Borislav Petkov <bp@...en8.de> wrote:
>
> But, TBH, I have myself wondered a couple of times, "dang, if that
> asm goto only had outputs" so I'm thinking if gcc guys are bored and
> wondering what to put in gcc11, why not this. :-)

Yeah. And there are other places where we might want to use it.

Yes, it happens to be particularly useful for exception handling where
it avoids some register pressure (that can be a bigger deal than the
trivial extra instructions) and gets rid of the fixup code in a
different segment.

But it's potentially very useful for alternatives code too (where a
fallback alternatives could be "jump out-of-line to different code
entirely").

I originally wanted it for things like cmpxchg, but getting the
condition codes out of the asm and letting the compiler generate the
jump was even better.

            Linus

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ