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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 19 May 2016 09:06:42 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	Masami Hiramatsu <mhiramat@...nel.org>
Cc:	David Ahern <dsahern@...il.com>, Jiri Olsa <jolsa@...nel.org>,
	Namhyung Kim <namhyung@...nel.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: perf probe -L on ubuntu 16.04

Em Thu, May 19, 2016 at 11:00:39AM +0900, Masami Hiramatsu escreveu:
> On Mon, 16 May 2016 22:56:36 -0300
> Arnaldo Carvalho de Melo <acme@...nel.org> wrote:
> > 	Have you ever tried using 'perf probe' on ubuntu?

> > acme@...ntu:~/git/linux$ sudo apt-cache search linux-image-$(uname -r)
> > linux-image-4.4.0-21-generic - Linux kernel image for version 4.4.0 on
> > 64 bit x86 SMP
> > linux-image-4.4.0-21-generic-dbgsym - Linux kernel debug image for
> > version 4.4.0 on 64 bit x86 SMP
> > acme@...ntu:~/git/linux$ 
> > acme@...ntu:~/git/linux$ 
> > 
> > So those are installed, but then I try:
> > 
> > root@...ntu:~# perf probe -vvv -L getname_flags
> > Looking at the vmlinux_path (8 entries long)
> > Using /usr/lib/debug/boot/vmlinux-4.4.0-21-generic for symbols
> > Open Debuginfo file: /usr/lib/debug/boot/vmlinux-4.4.0-21-generic
> > fname: /build/linux-Ay7j_C/linux-4.4.0/fs/namei.c, lineno:125
> > New line range: 125 to 2147483647
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU
> > Get 3665 lines from this CU

Ah, why do we repeat the above line that many times? Are we somehow
reading this compile unit that many times?!?

> > path: /build/linux-Ay7j_C/linux-4.4.0/fs/namei.c
> > Failed to find source file path.
> >   Error: Failed to show lines. Reason: No such file or directory (Code: -2)
> > root@...ntu:~# 

> > Have to dig deeper to see where the source code is, ideas?
 
> It shows the "path" is ;
> > path: /build/linux-Ay7j_C/linux-4.4.0/fs/namei.c
 
> So, would you have the source code under this temporary directory?
> (yeah, I guess No)

No, and I couldn't find a package that had it

> Anyway, ubuntu has "linux-source" package, or apt source linux-image-`uname -r`
> will give you the source tree in current dir.
 
> After you get a proper kernel source code, you can use -s to show source code.
 
>     -s, --source <directory>
>                           path to kernel source
 
> I ensured it is working correctly by below command.
> $ perf probe -s ./linux-4.4.0 -L getname_flags

Ok, how about telling the user this package is needed, since we can
figure out the distro and the package name? Couldn't it figure out where
the source code is and also not require using '-s'?

- Arnaldo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ