Re: [PATCH] KVM: x86: fix cocci warnings

From: Paolo Bonzini
Date: Tue Nov 16 2021 - 02:39:02 EST

On 11/15/21 21:49, Peter Zijlstra wrote:
On Mon, Nov 15, 2021 at 06:06:08PM +0100, Paolo Bonzini wrote:
On 11/15/21 12:43, Peter Zijlstra wrote:
On Sun, Nov 14, 2021 at 10:13:12PM +0530, Vihas Mak wrote:
change 0 to false and 1 to true to fix following cocci warnings:

arch/x86/kvm/mmu/mmu.c:1485:9-10: WARNING: return of 0/1 in function 'kvm_set_pte_rmapp' with return type bool
arch/x86/kvm/mmu/mmu.c:1636:10-11: WARNING: return of 0/1 in function 'kvm_test_age_rmapp' with return type bool

That script should be deleted, it's absolute garbage.

Only a Sith deals in absolutes.

Is that a star-wars thingy?

Yes, it is. "If you're not with me, then you're my enemy!" "Only a Sith deals in absolutes". :)

In C 0 is a valid way to spell false, equally, any non-0 value is a
valid way to spell true. Why would this rate a warn?

Because often 0 means success (if -errno means failure). So if you write false/true consistently for bool and 0 only for int, it's one less thing that one can get wrong. At least that's the rationale.


In fact, when casting _Bool to integer, you get 0 and 1. When looking at
the memory content of the _Bool variable, you'll get 0 and 1. But we're
not allowed to write 0 and 1?