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: <CAHk-=wijWvUfEkqUZRpvo9FCaJNsioS_qZT+iNWUdqQ6eO8Ozw@mail.gmail.com>
Date:   Wed, 1 Apr 2020 15:45:25 -0700
From:   Linus Torvalds <torvalds@...ux-foundation.org>
To:     Ingo Molnar <mingo@...nel.org>, Al Viro <viro@...iv.linux.org.uk>,
        Andy Lutomirski <luto@...capital.net>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        Borislav Petkov <bp@...en8.de>,
        Peter Zijlstra <a.p.zijlstra@...llo.nl>,
        Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [GIT PULL] x86 cleanups for v5.7

On Tue, Mar 31, 2020 at 11:09 AM Linus Torvalds
<torvalds@...ux-foundation.org> wrote:
>
> Lovely. This now makes my local boot-test tree be much closer to my
> upstream tree, since I've had my clang asm-goto stuff in my boot tree
> (and it had that series from Al).

Side note: I've extended on the x86 uaccess cleanups a bit with a
couple of commits:

  x86: start using named parameters for low-level uaccess asms
  x86: get rid of 'rtype' argument to __get_user_asm() macro
  x86: get rid of 'rtype' argument to __put_user_goto() macro
  x86: get rid of 'errret' argument to __get_user_xyz() macross
  x86: remove __put_user_asm() infrastructure

which I _tried_ to make complete no-ops (comparing code generation
before and after). Sadly, one of them (the "get rid of 'rtype'
argument to __get_user_asm" one) causes gcc to pick different
registers for me because now the temporary variables have different
sizes.

(The others cause line number data changes, of course, but I didn't
see any _code_ changes).

So that one commit results in a lot of small noise changes to the
generated code for me, but the few I looked at closer all looked the
same (mostly just different register, sometimes odd improvements where
it avoided doing a stupid "andq $0xffffffff", and in one or two cases
it seemed to randomly just change the stack frame size, sometimes to
the better, sometimes to worse).

The others should be purely semantically identical.

It was all just small prep to make the patch I have for "asm goto with
outputs" have a smaller footprint - particularly when I try to then
make it work with compilers that don't have the capability, and I need
to have different output registers for that case.

I'm not planning on actually doing that patch this merge window, it's
just not ready enough. But just in case somebody (Al?) is still
working on the uaccess.h file, letting you know about my preparatory
cleanups.

                Linus

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ