From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:60786) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SXRmA-0002Vy-TJ for qemu-devel@nongnu.org; Thu, 24 May 2012 02:44:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SXRm8-0002nY-Iq for qemu-devel@nongnu.org; Thu, 24 May 2012 02:43:58 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51759) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SXRm8-0002mv-Aj for qemu-devel@nongnu.org; Thu, 24 May 2012 02:43:56 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4O6hr3W018385 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 24 May 2012 02:43:54 -0400 Date: Thu, 24 May 2012 09:43:47 +0300 From: Alon Levy Message-ID: <20120524064347.GI6105@garlic.tlv.redhat.com> References: <1337700600-23870-1-git-send-email-alevy@redhat.com> <4FBD338A.7050105@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4FBD338A.7050105@redhat.com> Subject: Re: [Qemu-devel] [PATCHv2 1/3] ui/spice-display.c: add missing initialization for valgrind List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: qemu-devel@nongnu.org On Wed, May 23, 2012 at 08:59:22PM +0200, Gerd Hoffmann wrote: > On 05/22/12 17:29, Alon Levy wrote: > > We can't initialize QXLDevSurfaceCreate field by field because it has a > > pa hole, and so 4 bytes remain uninitialized when building on x86-64, so > > just memset. > > So you get valgrind warnings for the hole? why? nobody should ever > access the hole, so the missing initialization should not hurt in theory ... Because we allocate this struct on the stack and then copy it over an fd to spice, through the dispatcher pipe. echo quit | valgrind --log-file=/tmp/valgrind.log --leak-check=full ./x86_64-softmmu/qemu-system-x86_64 -monitor stdio -spice port=1234 -vga qxl ==2677== Syscall param write(buf) points to uninitialised byte(s) ==2677== at 0x659504D: ??? (syscall-template.S:82) ==2677== by 0x91BCD54: write_safe (dispatcher.c:103) ==2677== by 0x91BD168: dispatcher_send_message (dispatcher.c:182) ==2677== by 0x91BEC24: red_dispatcher_create_primary_surface_sync (red_dispatcher.c:489) ==2677== by 0x91BECAD: red_dispatcher_create_primary_surface (red_dispatcher.c:502) ==2677== by 0x91BED03: qxl_worker_create_primary_surface (red_dispatcher.c:509) ==2677== by 0x3403CC: qemu_spice_create_primary_surface (spice-display.c:106) ==2677== by 0x340BAB: qemu_spice_create_host_primary (spice-display.c:260) ==2677== by 0x40EC50: qxl_enter_vga_mode (qxl.c:931) ==2677== by 0x40EFCA: qxl_soft_reset (qxl.c:982) ==2677== by 0x40F088: qxl_hard_reset (qxl.c:1004) ==2677== by 0x40F0DA: qxl_reset_handler (qxl.c:1011) ==2677== Address 0x7feffef98 is on thread 1's stack > > > Signed-off-by: Alon Levy > > --- > > ui/spice-display.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/ui/spice-display.c b/ui/spice-display.c > > index 5418eb3..3e8f0b3 100644 > > --- a/ui/spice-display.c > > +++ b/ui/spice-display.c > > @@ -244,6 +244,8 @@ void qemu_spice_create_host_primary(SimpleSpiceDisplay *ssd) > > { > > QXLDevSurfaceCreate surface; > > > > + memset(&surface, 0, sizeof(surface)); > > + > > dprint(1, "%s: %dx%d\n", __FUNCTION__, > > ds_get_width(ssd->ds), ds_get_height(ssd->ds)); > > >