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] [day] [month] [year] [list]
Message-ID: <93d4156f-4d81-da15-b93e-79f3ec9bebdb@redhat.com>
Date:   Mon, 18 Oct 2021 20:29:12 +0200
From:   Paolo Bonzini <pbonzini@...hat.com>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     Jim Mattson <jmattson@...gle.com>,
        Nathan Chancellor <nathan@...nel.org>,
        Nick Desaulniers <ndesaulniers@...gle.com>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        KVM list <kvm@...r.kernel.org>
Subject: Re: [GIT PULL] KVM fixes for Linux 5.15-rc7

On 18/10/21 20:15, Linus Torvalds wrote:
>>           * Use a bitwise-OR instead of a logical-OR to aggregate the reserved
>>           * bits and EPT's invalid memtype/XWR checks to avoid an extra Jcc
>>           * (this is extremely unlikely to be short-circuited as true).
> That makes very little sense.
> 
> It seems to be avoiding a 'jcc' and replace it with a 'setcc' and an
> 'or'. Which is likely both bigger and slower.

The compiler knows that the setcc is unnecessary, because a!=0|b!=0 is 
the same as (a|b)!=0.

> If the jcc were unpredictable, maybe that would be one thing. But at
> least from a quick look, that doesn't even seem likely
> 
>   The other use of that function has a "WARN_ONCE()" on it, so
> presumably it normally doesn't ever trigger either of the boolean
> conditions.

Yes, and that was why it used a "|".

Anyway, not worth arguing for or against; I'll just change it to logical OR.

Paolo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ