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: <20160804193656.GK14639@kernel.org>
Date:	Thu, 4 Aug 2016 16:36:56 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	Masami Hiramatsu <mhiramat@...nel.org>
Cc:	"Wangnan (F)" <wangnan0@...wei.com>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: perf test BPF failing on f24: fix

Em Thu, Aug 04, 2016 at 09:48:57AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Thu, Aug 04, 2016 at 03:32:21PM +0900, Masami Hiramatsu escreveu:
> > FYI, if perf-probe failed to find the symbol in debuginfo, it tries to find its address
> > from symbol table(kallsyms, here), and then tries to convert the address to the symbol
> > in debuginfo again. It seems that in your case this convert process is failed.
 
> Yeah, that is what is failing for me.

[root@...et ~]# grep ffffffffbd295b50 /proc/kallsyms 
ffffffffbd295b50 T SyS_epoll_wait
ffffffffbd295b50 T sys_epoll_wait
[root@...et ~]# 

Adding some printfs in debuginfo__find_probe_point()

Using /lib/modules/4.7.0+/build/vmlinux for symbols
Open Debuginfo file: /lib/modules/4.7.0+/build/vmlinux
Try to find probe point from debuginfo.
Symbol sys_epoll_wait address found : ffffffffbd295b50
dwarf_addrdie(ffffffffbd295b50)
dwarf_addrdie(ffffffffbd295b50)
Failed to find debug information for address ffffffffbd295b50
Probe point 'sys_epoll_wait' not found.
  Error: Failed to add events. Reason: No such file or directory (Code: -2)
[root@...et ~]# grep ffffffffbd295b50 /proc/kallsyms 
ffffffffbd295b50 T SyS_epoll_wait
ffffffffbd295b50 T sys_epoll_wait
[root@...et ~]#

So:

int err = debuginfo__get_text_offset(dbg, &baseaddr);

is returning 0, no relocation, its dwarf_addrdie() that is not finding
SyS_epoll_wait from its address.

Trying to figure out why dwarf_addrdie(0xffffffffbd295b50) fails...

- Arnaldo

> > Then, could you grep DEBUG_INFO in .config? I guess your kernel enables some
> > reduced debuginfo related config enabled...
 
> If that is the case, then we better add a proper warning because this is
> very subtle :-)
 
> Checking...
 
> [acme@...et linux]$ grep ^CONFIG_DEBUG_ ../build/v4.7.0+/.config | grep 'INFO\|REDUCED'
> CONFIG_DEBUG_INFO=y
> [acme@...et linux]$ 
> 
> Nope.
> 
> - Arnaldo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ