On 11/18/2011 11:18 AM, Xiao Guangrong wrote:index bb8728e..10524c0 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -307,6 +307,10 @@ static inline struct kvm_vcpu *kvm_get_vcpu(struct kvm *kvm, int i)
(vcpup = kvm_get_vcpu(kvm, idx)) != NULL; \
idx++)
+#define kvm_for_each_memslot(slots, memslot, i) \
+ for (i = 0; i< (slots)->nmemslots&& \
+ ({ memslot =&(slots)->memslots[i]; 1; }); i++)
+
Statement expression not needed, you can use the comma operator:
i< (slots)->nmemslots&& (memslot = @(slots)->memslots[i], true)
or even
memslot =&(slots)->memslots[i], i< (slots)->nmemslots
or just kill i and make memslot the loop variable.