[RFC] kvm: vgic: are these warnings wrong?

4 messages, 2 authors, 2017-11-15 · open the first message on its own page

[RFC] kvm: vgic: are these warnings wrong?

From: AKASHI Takahiro <hidden>
Date: 2017-11-14 06:47:52

Hi Marc,

I've just run a static analyzer to v4.14.
While most of warnings/errors are false-positive, as you can easily imagine,
there are something dubious. Can you please check ones below?

virt/kvm/arm/vgic/vgic-v3.c:352 vgic_v3_save_pending_tables() error: uninitialized symbol 'val'.
virt/kvm/arm/vgic/vgic-its.c:424 its_sync_lpi_pending_table() error: uninitialized symbol 'pendmask'.
virt/kvm/arm/vgic/vgic-its.c:779 vgic_its_alloc_collection() error: potential null dereference 'collection'.  (kzalloc returns null)
virt/kvm/arm/vgic/vgic-irqfd.c:115 kvm_vgic_setup_default_irq_routing() warn: double check that we're allocating correct size: 48 vs 64

# I believe that the messages here are self-describing.

Thanks,
-Takahiro AKASHI

[RFC] kvm: vgic: are these warnings wrong?

From: Marc Zyngier <hidden>
Date: 2017-11-14 09:07:46

On 14/11/17 06:47, AKASHI Takahiro wrote:
Hi Marc,

I've just run a static analyzer to v4.14.
While most of warnings/errors are false-positive, as you can easily imagine,
there are something dubious. Can you please check ones below?

virt/kvm/arm/vgic/vgic-v3.c:352 vgic_v3_save_pending_tables() error: uninitialized symbol 'val'.
virt/kvm/arm/vgic/vgic-its.c:424 its_sync_lpi_pending_table() error: uninitialized symbol 'pendmask'.
virt/kvm/arm/vgic/vgic-its.c:779 vgic_its_alloc_collection() error: potential null dereference 'collection'.  (kzalloc returns null)
virt/kvm/arm/vgic/vgic-irqfd.c:115 kvm_vgic_setup_default_irq_routing() warn: double check that we're allocating correct size: 48 vs 64

# I believe that the messages here are self-describing.
Hi Takahiro,

All of these are pretty good findings... Out of curiosity, what is the
tool you've been using?

Many thanks for reporting these bugs.

	M.
-- 
Jazz is not dead. It just smells funny...

[RFC] kvm: vgic: are these warnings wrong?

From: Marc Zyngier <hidden>
Date: 2017-11-14 13:38:27

On 14/11/17 06:47, AKASHI Takahiro wrote:
Hi Marc,

I've just run a static analyzer to v4.14.
While most of warnings/errors are false-positive, as you can easily imagine,
there are something dubious. Can you please check ones below?

virt/kvm/arm/vgic/vgic-v3.c:352 vgic_v3_save_pending_tables() error: uninitialized symbol 'val'.
virt/kvm/arm/vgic/vgic-its.c:424 its_sync_lpi_pending_table() error: uninitialized symbol 'pendmask'.
virt/kvm/arm/vgic/vgic-its.c:779 vgic_its_alloc_collection() error: potential null dereference 'collection'.  (kzalloc returns null)
virt/kvm/arm/vgic/vgic-irqfd.c:115 kvm_vgic_setup_default_irq_routing() warn: double check that we're allocating correct size: 48 vs 64

# I believe that the messages here are self-describing.
For the record, I've stashed fixes for these here[1], based on kvmarm/next.

Thanks,

	M.

[1]:
https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/log/?h=kvm-arm64/fixes-4.15
-- 
Jazz is not dead. It just smells funny...

[RFC] kvm: vgic: are these warnings wrong?

From: AKASHI Takahiro <hidden>
Date: 2017-11-15 00:34:10

On Tue, Nov 14, 2017 at 09:07:46AM +0000, Marc Zyngier wrote:
On 14/11/17 06:47, AKASHI Takahiro wrote:
quoted
Hi Marc,

I've just run a static analyzer to v4.14.
While most of warnings/errors are false-positive, as you can easily imagine,
there are something dubious. Can you please check ones below?

virt/kvm/arm/vgic/vgic-v3.c:352 vgic_v3_save_pending_tables() error: uninitialized symbol 'val'.
virt/kvm/arm/vgic/vgic-its.c:424 its_sync_lpi_pending_table() error: uninitialized symbol 'pendmask'.
virt/kvm/arm/vgic/vgic-its.c:779 vgic_its_alloc_collection() error: potential null dereference 'collection'.  (kzalloc returns null)
virt/kvm/arm/vgic/vgic-irqfd.c:115 kvm_vgic_setup_default_irq_routing() warn: double check that we're allocating correct size: 48 vs 64

# I believe that the messages here are self-describing.
Hi Takahiro,

All of these are pretty good findings... Out of curiosity, what is the
tool you've been using?
smatch!
https://blogs.oracle.com/linuxkernel/smatch-static-analysis-tool-overview,-by-dan-carpenter
Many thanks for reporting these bugs.
I want to find more bugs with such tools :) Just kidding.

-Takahiro AKASHI
	M.
-- 
Jazz is not dead. It just smells funny...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help