* [kvm:queue 76/76] arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35: sparse: incorrect type in argument 1 (different address spaces)
@ 2015-06-05 23:50 kbuild test robot
2015-06-08 8:46 ` Paolo Bonzini
0 siblings, 1 reply; 2+ messages in thread
From: kbuild test robot @ 2015-06-05 23:50 UTC (permalink / raw)
To: Joerg Roedel; +Cc: kbuild-all, Paolo Bonzini, kvm
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 infrastructure Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild Intel Corporation
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [kvm:queue 76/76] arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35: sparse: incorrect type in argument 1 (different address spaces)
2015-06-05 23:50 [kvm:queue 76/76] arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35: sparse: incorrect type in argument 1 (different address spaces) kbuild test robot
@ 2015-06-08 8:46 ` Paolo Bonzini
0 siblings, 0 replies; 2+ messages in thread
From: Paolo Bonzini @ 2015-06-08 8:46 UTC (permalink / raw)
To: kbuild test robot, Joerg Roedel; +Cc: kbuild-all, kvm
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-06-08 8:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-05 23:50 [kvm:queue 76/76] arch/x86/kvm/../../../virt/kvm/irqchip.c:144:35: sparse: incorrect type in argument 1 (different address spaces) kbuild test robot
2015-06-08 8:46 ` Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).