On Thursday, March 2, 2023 12:55 PM, Mingwei Zhang wrote: > I don't get it. Why bothering the type if we just do this? > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index > 4f26b244f6d0..10455253c6ea 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -848,7 +848,7 @@ static inline void kvm_vm_bugged(struct kvm *kvm) > > #define KVM_BUG(cond, kvm, fmt...) \ > ({ \ > - int __ret = (cond); \ > + int __ret = !!(cond); \ This is essentially "bool __ret". No biggie to change it this way. But I'm inclined to retain the original intention to have the macro return the value that was passed in: typeof(cond) __ret = (cond); Let's what others vote for.