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