* [Qemu-devel] [PATCH] initialize struct sigevent before timer_create
@ 2009-05-17 16:41 Jean-Christophe Dubois
2009-05-20 19:10 ` Marcelo Tosatti
0 siblings, 1 reply; 2+ messages in thread
From: Jean-Christophe Dubois @ 2009-05-17 16:41 UTC (permalink / raw)
To: qemu-devel
When qemu is run under valgrind, valgrind shows the following output
on exit:
==3648== 1 errors in context 2 of 2:
==3648== Syscall param timer_create(evp) points to uninitialised byte(s)
==3648== at 0x54E936A: timer_create (in /lib/librt-2.9.so)
==3648== by 0x405DCF: dynticks_start_timer (vl.c:1549)
==3648== by 0x40A966: main (vl.c:1726)
==3648== Address 0x7fefffb34 is on thread 1's stack
==3648== Uninitialised value was created by a stack allocation
==3648== at 0x405D60: dynticks_start_timer (vl.c:1534)
This patch is a simple fix to remove this potential problem.
Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net>
--- qemu.org/vl.c 2009-05-16 17:57:27.000000000 +0200
+++ qemu/vl.c 2009-05-16 23:06:52.000000000 +0200
@@ -1542,6 +1542,11 @@
sigaction(SIGALRM, &act, NULL);
+ /*
+ * Initialize ev struct to 0 to avoid valgrind complaining
+ * about uninitialized data in timer_create call
+ */
+ memset(&ev, 0, sizeof(ev));
ev.sigev_value.sival_int = 0;
ev.sigev_notify = SIGEV_SIGNAL;
ev.sigev_signo = SIGALRM;
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] initialize struct sigevent before timer_create
2009-05-17 16:41 [Qemu-devel] [PATCH] initialize struct sigevent before timer_create Jean-Christophe Dubois
@ 2009-05-20 19:10 ` Marcelo Tosatti
0 siblings, 0 replies; 2+ messages in thread
From: Marcelo Tosatti @ 2009-05-20 19:10 UTC (permalink / raw)
To: Jean-Christophe Dubois; +Cc: qemu-devel
Looks good.
On Sun, May 17, 2009 at 06:41:16PM +0200, Jean-Christophe Dubois wrote:
> When qemu is run under valgrind, valgrind shows the following output
> on exit:
>
> ==3648== 1 errors in context 2 of 2:
> ==3648== Syscall param timer_create(evp) points to uninitialised byte(s)
> ==3648== at 0x54E936A: timer_create (in /lib/librt-2.9.so)
> ==3648== by 0x405DCF: dynticks_start_timer (vl.c:1549)
> ==3648== by 0x40A966: main (vl.c:1726)
> ==3648== Address 0x7fefffb34 is on thread 1's stack
> ==3648== Uninitialised value was created by a stack allocation
> ==3648== at 0x405D60: dynticks_start_timer (vl.c:1534)
>
> This patch is a simple fix to remove this potential problem.
>
> Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net>
>
> --- qemu.org/vl.c 2009-05-16 17:57:27.000000000 +0200
> +++ qemu/vl.c 2009-05-16 23:06:52.000000000 +0200
> @@ -1542,6 +1542,11 @@
>
> sigaction(SIGALRM, &act, NULL);
>
> + /*
> + * Initialize ev struct to 0 to avoid valgrind complaining
> + * about uninitialized data in timer_create call
> + */
> + memset(&ev, 0, sizeof(ev));
> ev.sigev_value.sival_int = 0;
> ev.sigev_notify = SIGEV_SIGNAL;
> ev.sigev_signo = SIGALRM;
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-05-20 19:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-17 16:41 [Qemu-devel] [PATCH] initialize struct sigevent before timer_create Jean-Christophe Dubois
2009-05-20 19:10 ` Marcelo Tosatti
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).