public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* libkvm: initialize no_pit_creation
@ 2008-04-26  0:53 Marcelo Tosatti
  2008-04-27 12:50 ` Avi Kivity
  0 siblings, 1 reply; 4+ messages in thread
From: Marcelo Tosatti @ 2008-04-26  0:53 UTC (permalink / raw)
  To: Avi Kivity; +Cc: kvm-devel


Valgrind caught this:

==11754== Conditional jump or move depends on uninitialised value(s)
==11754==    at 0x50C9BC: kvm_create_pit (libkvm-x86.c:153)
==11754==    by 0x50CA7F: kvm_arch_create (libkvm-x86.c:178)
==11754==    by 0x50AB31: kvm_create (libkvm.c:383)
==11754==    by 0x4EE691: kvm_qemu_create_context (qemu-kvm.c:616)
==11754==    by 0x412031: main (vl.c:9653)

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>


diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
index 329f29f..adf09a5 100644
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -249,6 +249,7 @@ kvm_context_t kvm_init(struct kvm_callbacks *callbacks,
 	kvm->opaque = opaque;
 	kvm->dirty_pages_log_all = 0;
 	kvm->no_irqchip_creation = 0;
+	kvm->no_pit_creation = 0;
 
 	return kvm;
  out_close:

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: libkvm: initialize no_pit_creation
  2008-04-26  0:53 libkvm: initialize no_pit_creation Marcelo Tosatti
@ 2008-04-27 12:50 ` Avi Kivity
  2008-04-28 17:58   ` Jan Kiszka
  0 siblings, 1 reply; 4+ messages in thread
From: Avi Kivity @ 2008-04-27 12:50 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: kvm-devel

Marcelo Tosatti wrote:
> Valgrind caught this:
>
> ==11754== Conditional jump or move depends on uninitialised value(s)
> ==11754==    at 0x50C9BC: kvm_create_pit (libkvm-x86.c:153)
> ==11754==    by 0x50CA7F: kvm_arch_create (libkvm-x86.c:178)
> ==11754==    by 0x50AB31: kvm_create (libkvm.c:383)
> ==11754==    by 0x4EE691: kvm_qemu_create_context (qemu-kvm.c:616)
> ==11754==    by 0x412031: main (vl.c:9653)
>
>   

Applied, thanks.  Isn't valgrind great?


-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: libkvm: initialize no_pit_creation
  2008-04-27 12:50 ` Avi Kivity
@ 2008-04-28 17:58   ` Jan Kiszka
  2008-05-02 11:22     ` Avi Kivity
  0 siblings, 1 reply; 4+ messages in thread
From: Jan Kiszka @ 2008-04-28 17:58 UTC (permalink / raw)
  To: Avi Kivity; +Cc: kvm-devel, Marcelo Tosatti

Avi Kivity wrote:
> Marcelo Tosatti wrote:
>> Valgrind caught this:
>>
>> ==11754== Conditional jump or move depends on uninitialised value(s)
>> ==11754==    at 0x50C9BC: kvm_create_pit (libkvm-x86.c:153)
>> ==11754==    by 0x50CA7F: kvm_arch_create (libkvm-x86.c:178)
>> ==11754==    by 0x50AB31: kvm_create (libkvm.c:383)
>> ==11754==    by 0x4EE691: kvm_qemu_create_context (qemu-kvm.c:616)
>> ==11754==    by 0x412031: main (vl.c:9653)
>>
>>   
> 
> Applied, thanks.  Isn't valgrind great?
> 

Yeah, it is. Reminds me of another warning I recently came across
(offsets may vary due to other patches:

==5801== 1 errors in context 1 of 2:
==5801== Conditional jump or move depends on uninitialised value(s)
==5801==    at 0x53F4AE: kvm_register_userspace_phys_mem (libkvm.c:552)
==5801==    by 0x521ACA: kvm_cpu_register_physical_memory (qemu-kvm.c:654)
==5801==    by 0x45FC82: pc_init1 (pc.c:809)
==5801==    by 0x461313: pc_init_pci (pc.c:1149)
==5801==    by 0x43081B: main (vl.c:9845)

This silences valgrind and may even be correct (if I got the code path
right):

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>

--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -328,9 +328,10 @@ static int kvm_create_default_phys_mem(k
 
 #ifdef KVM_CAP_USER_MEMORY
 	r = ioctl(kvm->fd, KVM_CHECK_EXTENSION, KVM_CAP_USER_MEMORY);
-	if (r > 0)
+	if (r > 0) {
+		kvm->physical_memory = NULL;
 		return 0;
-	else
+	} else
 #endif
 		r = kvm_alloc_kernel_memory(kvm, memory, vm_mem);
 	if (r < 0)

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: libkvm: initialize no_pit_creation
  2008-04-28 17:58   ` Jan Kiszka
@ 2008-05-02 11:22     ` Avi Kivity
  0 siblings, 0 replies; 4+ messages in thread
From: Avi Kivity @ 2008-05-02 11:22 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: kvm-devel, Marcelo Tosatti

Jan Kiszka wrote:
> Yeah, it is. Reminds me of another warning I recently came across
> (offsets may vary due to other patches:
>
> ==5801== 1 errors in context 1 of 2:
> ==5801== Conditional jump or move depends on uninitialised value(s)
> ==5801==    at 0x53F4AE: kvm_register_userspace_phys_mem (libkvm.c:552)
> ==5801==    by 0x521ACA: kvm_cpu_register_physical_memory (qemu-kvm.c:654)
> ==5801==    by 0x45FC82: pc_init1 (pc.c:809)
> ==5801==    by 0x461313: pc_init_pci (pc.c:1149)
> ==5801==    by 0x43081B: main (vl.c:9845)
>
> This silences valgrind and may even be correct (if I got the code path
> right):
>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>
> --- a/libkvm/libkvm.c
> +++ b/libkvm/libkvm.c
> @@ -328,9 +328,10 @@ static int kvm_create_default_phys_mem(k
>  
>  #ifdef KVM_CAP_USER_MEMORY
>  	r = ioctl(kvm->fd, KVM_CHECK_EXTENSION, KVM_CAP_USER_MEMORY);
> -	if (r > 0)
> +	if (r > 0) {
> +		kvm->physical_memory = NULL;
>  		return 0;
> -	else
> +	} else
>  #endif
>  		r = kvm_alloc_kernel_memory(kvm, memory, vm_mem);
>  	if (r < 0)
>
>   

As related earlier, physical_memory is bogus, so I removed it.  Let's 
pretend it never existed.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-05-02 11:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-26  0:53 libkvm: initialize no_pit_creation Marcelo Tosatti
2008-04-27 12:50 ` Avi Kivity
2008-04-28 17:58   ` Jan Kiszka
2008-05-02 11:22     ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox