Re: [kvm:queue 76/76] arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35: sparse: incorrect type in argument 1 (different address spaces)
On 06/06/2015 01:50, kbuild test robot wrote: tree: git://git.kernel.org/pub/scm/virt/kvm/kvm.git queue head: 6aa5e7eb06cff8d317328a0c4696b5f635ba6be3 commit: 6aa5e7eb06cff8d317328a0c4696b5f635ba6be3 [76/76] kvm: irqchip: Break up high order allocations of kvm_irq_routing_table reproduce: # apt-get install sparse git checkout 6aa5e7eb06cff8d317328a0c4696b5f635ba6be3 make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by ) arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35: sparse: incorrect type in argument 1 (different address spaces) arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35:expected struct kvm_irq_routing_table *rt arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35:got struct kvm_irq_routing_table [noderef] asn:4*irq_routing arch/x86/kvm/../../../virt/kvm/irqchip.c:224:13: sparse: incorrect type in assignment (different address spaces) arch/x86/kvm/../../../virt/kvm/irqchip.c:224:13:expected struct kvm_irq_routing_table *old arch/x86/kvm/../../../virt/kvm/irqchip.c:224:13:got struct kvm_irq_routing_table [noderef] asn:4*irq_routing I'm squashing this: diff --git a/virt/kvm/irqchip.c b/virt/kvm/irqchip.c index b56168fe018c..21c14244f4c4 100644 --- a/virt/kvm/irqchip.c +++ b/virt/kvm/irqchip.c @@ -141,7 +141,8 @@ void kvm_free_irq_routing(struct kvm *kvm) { /* Called only during vm destruction. Nobody can use the pointer at this stage */ - free_irq_routing_table(kvm-irq_routing); + struct kvm_irq_routing_table *rt = rcu_access_pointer(kvm-irq_routing); + free_irq_routing_table(rt); } static int setup_routing_entry(struct kvm_irq_routing_table *rt, Paolo -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[kvm:queue 76/76] arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35: sparse: incorrect type in argument 1 (different address spaces)
tree: git://git.kernel.org/pub/scm/virt/kvm/kvm.git queue head: 6aa5e7eb06cff8d317328a0c4696b5f635ba6be3 commit: 6aa5e7eb06cff8d317328a0c4696b5f635ba6be3 [76/76] kvm: irqchip: Break up high order allocations of kvm_irq_routing_table reproduce: # apt-get install sparse git checkout 6aa5e7eb06cff8d317328a0c4696b5f635ba6be3 make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by ) arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35: sparse: incorrect type in argument 1 (different address spaces) arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35:expected struct kvm_irq_routing_table *rt arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35:got struct kvm_irq_routing_table [noderef] asn:4*irq_routing arch/x86/kvm/../../../virt/kvm/irqchip.c:224:13: sparse: incorrect type in assignment (different address spaces) arch/x86/kvm/../../../virt/kvm/irqchip.c:224:13:expected struct kvm_irq_routing_table *old arch/x86/kvm/../../../virt/kvm/irqchip.c:224:13:got struct kvm_irq_routing_table [noderef] asn:4*irq_routing vim +144 arch/x86/kvm/../../../virt/kvm/irqchip.c 128 struct kvm_kernel_irq_routing_entry *e; 129 struct hlist_node *n; 130 131 hlist_for_each_entry_safe(e, n, rt-map[i], link) { 132 hlist_del(e-link); 133 kfree(e); 134 } 135 } 136 137 kfree(rt); 138 } 139 140 void kvm_free_irq_routing(struct kvm *kvm) 141 { 142 /* Called only during vm destruction. Nobody can use the pointer 143 at this stage */ 144 free_irq_routing_table(kvm-irq_routing); 145 } 146 147 static int setup_routing_entry(struct kvm_irq_routing_table *rt, 148 struct kvm_kernel_irq_routing_entry *e, 149 const struct kvm_irq_routing_entry *ue) 150 { 151 int r = -EINVAL; 152 struct kvm_kernel_irq_routing_entry *ei; --- 0-DAY kernel test infrastructureOpen Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html