From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753824AbcDSNw1 (ORCPT ); Tue, 19 Apr 2016 09:52:27 -0400 Received: from mail.kernel.org ([198.145.29.136]:33384 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752813AbcDSNw0 (ORCPT ); Tue, 19 Apr 2016 09:52:26 -0400 Date: Tue, 19 Apr 2016 10:52:21 -0300 From: rnaldo Carvalho de Melo To: Colin King Cc: Peter Zijlstra , Ingo Molnar , Alexander Shishkin , Adrian Hunter , Stephane Eranian , linux-kernel@vger.kernel.org Subject: Re: [PATCH] perf jit: memset variable st using the correct size Message-ID: <20160419135221.GF3677@kernel.org> References: <1461020838-9260-1-git-send-email-colin.king@canonical.com> <20160419134741.GE3677@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20160419134741.GE3677@kernel.org> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Tue, Apr 19, 2016 at 10:47:41AM -0300, rnaldo Carvalho de Melo escreveu: > Em Tue, Apr 19, 2016 at 12:07:18AM +0100, Colin King escreveu: > > From: Colin Ian King > > > > The current code is memsetting the struct stat variable st with > > the size of stat (which turns out to be 1 byte) rather than the > > size of variable sz. > > Thanks, applied. BTW, its a obvious bug, but I'll add this to the changeset log to enlighten others ;-) [acme@jouet c]$ cc -pedantic sizeof_function.c -o sizeof_function sizeof_function.c: In function ‘main’: sizeof_function.c:8:46: warning: invalid application of ‘sizeof’ to a function type [-Wpointer-arith] printf("sizeof(stat)=%zd, stat=%p\n", sizeof(stat), stat); ^ [acme@jouet c]$ ./sizeof_function sizeof(stat)=1, stat=0x40063 As my expectation was for this to return sizeof(void *) :-\ - Arnaldo > - Arnaldo > > > Signed-off-by: Colin Ian King > > --- > > tools/perf/util/jitdump.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c > > index 52fcef3..86afe96 100644 > > --- a/tools/perf/util/jitdump.c > > +++ b/tools/perf/util/jitdump.c > > @@ -412,7 +412,7 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd, union jr_entry *jr) > > return -1; > > } > > if (stat(filename, &st)) > > - memset(&st, 0, sizeof(stat)); > > + memset(&st, 0, sizeof(st)); > > > > event->mmap2.header.type = PERF_RECORD_MMAP2; > > event->mmap2.header.misc = PERF_RECORD_MISC_USER; > > @@ -500,7 +500,7 @@ static int jit_repipe_code_move(struct jit_buf_desc *jd, union jr_entry *jr) > > size++; /* for \0 */ > > > > if (stat(filename, &st)) > > - memset(&st, 0, sizeof(stat)); > > + memset(&st, 0, sizeof(st)); > > > > size = PERF_ALIGN(size, sizeof(u64)); > > > > -- > > 2.7.4