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: <20190626084927.GI3419@hirez.programming.kicks-ass.net>
Date:   Wed, 26 Jun 2019 10:49:27 +0200
From:   Peter Zijlstra <peterz@...radead.org>
To:     Nick Desaulniers <ndesaulniers@...gle.com>
Cc:     "Gustavo A. R. Silva" <gustavo@...eddedor.com>,
        Joe Perches <joe@...ches.com>,
        Miguel Ojeda <miguel.ojeda.sandonis@...il.com>,
        Ingo Molnar <mingo@...hat.com>,
        Arnaldo Carvalho de Melo <acme@...nel.org>,
        Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
        Jiri Olsa <jolsa@...hat.com>,
        Namhyung Kim <namhyung@...nel.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        Borislav Petkov <bp@...en8.de>,
        "H. Peter Anvin" <hpa@...or.com>,
        "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@...nel.org>,
        Kan Liang <kan.liang@...ux.intel.com>,
        linux-kernel <linux-kernel@...r.kernel.org>,
        Kees Cook <keescook@...omium.org>,
        Shawn Landden <shawn@....icu>,
        Nathan Chancellor <natechancellor@...il.com>,
        Luc Van Oostenryck <luc.vanoostenryck@...il.com>,
        Chandler Carruth <chandlerc@...gle.com>
Subject: Re: [PATCH] perf/x86/intel: Mark expected switch fall-throughs

On Tue, Jun 25, 2019 at 11:15:57AM -0700, Nick Desaulniers wrote:

> Unreleased versions of Clang built from source can;

I've bad experiences with using unreleased compilers; life is too short.

> We're currently planning multiple output constraint support w/ asm
> goto, and have recently implemented things like
> __GCC_ASM_FLAG_OUTPUTS__.

That's good to hear.

> If there's other features that we should
> start implementing, please let us know.

If you've got any ideas on how to make this:

  https://lkml.kernel.org/r/20190621120923.GT3463@hirez.programming.kicks-ass.net

work, that'd be nice. Basically I wanted the asm goto to emit a 2 or 5
byte JMP/NOP depending on the displacement size. We can trivially get
JMP right by using:

	jmp \l_yes

and letting the assembler sort it, but getting the NOP right has so far
eluded me:

.if \l_yes - (. + 2) < 127
	.byte 0x66, 0x90
.else
	.byte STATIC_KEY_INIT_NOP
.endif

doesn't work. We can ofcourse unconditionally emit the JMP and then
rewrite the binary afterward, and replace the emitted jumps with the
right size NOP, but that's a bit yuck.

Once it emits the variable size instruction consistently, we can update
the patching side to use the same condition to select the new
instruction (and fix objtool).

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ