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] [thread-next>] [day] [month] [year] [list]
Message-ID: <4D077EDE.8090005@cisco.com>
Date:	Tue, 14 Dec 2010 07:27:42 -0700
From:	"David S. Ahern" <daahern@...co.com>
To:	Arnaldo Carvalho de Melo <acme@...stprotocols.net>
CC:	linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] perf tools: Add symfs option for off-box analysis
 using specified tree



On 12/14/10 05:52, Arnaldo Carvalho de Melo wrote:
> Em Tue, Dec 14, 2010 at 10:24:28AM -0200, Arnaldo Carvalho de Melo escreveu:
>> Em Thu, Dec 09, 2010 at 01:27:07PM -0700, David Ahern escreveu:
>>> The symfs argument allows analysis of perf.data file using a locally
>>> accessible filesystem tree with debug symbols - e.g., tree created
>>> during image builds, sshfs mount, loop mounted KVM disk images,
>>> USB keys, initrds, etc. Anything with an OS tree can be analyzed from
>>> anywhere without the need to populate a local data store with
>>> build-ids.
>>>
>>> Signed-off-by: David Ahern <daahern@...co.com>
>>>
>>> v2 --> v3: handle symfs="/"
>>
>> [acme@...icio ~]$ ./realpath /..//.
>> /
>> [acme@...icio ~]$
>>
>> I'll fix this up and merge, thanks!

I was not aware of realpath. Simple change to symbol__init?

> 
> Ok, there are still some problems:
> 
> It is escaping the symfs jail for /home/acme/bin/perf, /lib64/libpthread-2.5.so
> and kernel modules, investigating...

> 
> - Arnaldo
> 
> [acme@...a linux]$ find /tmp/bla
> /tmp/bla
> /tmp/bla/lib64
> /tmp/bla/lib64/libc-2.5.so
> [acme@...a linux]$ perf report -v -g none --stdio --symfs /tmp/bla > /tmp/out
> Looking at the vmlinux_path (3 entries long)
> Failed to open [kernel.kallsyms], continuing without symbols
> dso__synthesize_plt_symbols: problems reading /home/acme/bin/perf PLT info.
> dso__synthesize_plt_symbols: problems reading /lib64/libpthread-2.5.so PLT info.
> dso__synthesize_plt_symbols: problems reading /lib/modules/2.6.37-rc3-00084-gd937616/kernel/drivers/net/ixgbe/ixgbe.ko PLT info.
> [acme@...a linux]$ cat /tmp/out

strace -e trace=open /tmp/build-perf/perf report -v --symfs /tmp/f14-mnt
-i /tmp/perf-cs.data

does not show any attempts to open a file not starting with the symfs path.

At the top of dso__synthesize_plt_symbols() is:
	snprintf(name, sizeof(name), "%s%s",
		 symbol_conf.symfs, self->long_name);
	fd = open(name, O_RDONLY);

so the open only gets the relative path.

David
--
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