Re: [GIT PULL] KVM fixes for Linux 5.15-rc7

From: Linus Torvalds
Date: Mon Oct 18 2021 - 14:15:33 EST


On Mon, Oct 18, 2021 at 8:03 AM Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:
>
> The code is not wrong, there is a comment explaining it:
>
> * 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.

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.

Very strange code.

Linus