lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20101209002942.GA11252@ghostprotocols.net>
Date:	Wed, 8 Dec 2010 22:29:42 -0200
From:	Arnaldo Carvalho de Melo <acme@...stprotocols.net>
To:	"David S. Ahern" <daahern@...co.com>
Cc:	linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] perf tools: Add symfs option for off-box analysis using
 specified tree

Em Wed, Dec 08, 2010 at 03:22:37PM -0700, David S. Ahern escreveu:
> On 12/08/10 13:56, Arnaldo Carvalho de Melo wrote:
> > Em Tue, Dec 07, 2010 at 07:42:54PM -0700, David Ahern escreveu:
> >> +			if ((strlen(symbol_conf.symfs) != 0) ||
> > 
> > I suggest you use:
> > 
> > 			if (symbol_conf.symfs[1] ||
> > 
> > cheaper :)
> 
> Changed. I presume you meant: symbol_conf.symfs[0]  -- ie., element 0
> has something other than '\0' which means strlen > 0

Right, off-by-one mistake by me, sorry
 
> >> @@ -1778,17 +1786,20 @@ static int dso__load_vmlinux(struct dso *self, struct map *map,
> >>  			     const char *vmlinux, symbol_filter_t filter)
> >>  {
> >>  	int err = -1, fd;
> >> +	char symfs_vmlinux[PATH_MAX];
> >> -	fd = open(vmlinux, O_RDONLY);
> >> +	snprintf(symfs_vmlinux, sizeof(symfs_vmlinux), "%s/%s",
> >> +		 symbol_conf.symfs, vmlinux);
> > 
> > Its userspace, so stack is plenty, but I guess if using asprintf
> > wouldn't be better...
> > 
> > I.e. if we were programming some kernel module, creating a 4K stack
> > variable would be considered bad practice, so I think it is here as
> > well.
> 
> Declaring symfs_vmlinux on the stack is consistent with other PATH_MAX
> declarations within perf, and especially within util/symbol.c.

Ok, so keep it like that and I'll then work on a follow on patch to
remove these stack abuses.
 
> >> +	if (strlen(symbol_conf.symfs) == 0) {
> > 
> > Do it as:
> > 
> > 	if (!symbol_conf.symfs[1])
> > 		return 0;
> > 
> > And then the patch can be made smaller.
> 
> Done.
> 
> 
> I also added the symfs option to the Documentation files. Will send an
> updated patch.

Thanks a lot!

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ