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: <CAP-5=fUGNDzVPt60J3zwXjwD9gMADRozHwFP+U3gFsPk4SHi0A@mail.gmail.com>
Date: Wed, 4 Feb 2026 14:18:30 -0800
From: Ian Rogers <irogers@...gle.com>
To: Namhyung Kim <namhyung@...nel.org>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>, Dmitry Dolgov <9erthalion6@...il.com>, 
	linux-perf-users@...r.kernel.org, 
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH v1] perf tests: Test annotate with data type profiling
 and rust

On Wed, Feb 4, 2026 at 1:52 PM Namhyung Kim <namhyung@...nel.org> wrote:
>
> On Tue, Feb 03, 2026 at 10:15:30AM -0800, Ian Rogers wrote:
> > On Tue, Feb 3, 2026 at 6:45 AM Arnaldo Carvalho de Melo <acme@...nel.org> wrote:
> > >
> > > On Sun, Feb 01, 2026 at 11:33:54AM +0100, Dmitry Dolgov wrote:
> > > > > On Fri, Jan 30, 2026 at 09:44:47AM +0100, Dmitry Dolgov wrote:
> > > > > > I'm not managing to reproduce your results, can you please elaborate
> > > > > > some more?
> > > > >
> > > > > That's most unexpected for me, the test output I see looks like this:
> > > > >
> > > > >          : 54     for _ in 1..count {
> > > > >     0.00 :   5423b8: mov    %ecx,0x7c(%rsp)
> > > > >     0.00 :   5423bc: mov    %eax,0x80(%rsp)
> > > > >     0.00 :   5423c3: lea    0x7c(%rsp),%rdi
> > > > >    12.28 :   5423c8: call   541f00 <core::iter::range::<impl core::iter::traits::iterator::Iterator for core::ops::range::Range<A>>::next>
> > > > >     0.00 :   5423cd: mov    %eax,0x20(%rsp)
> > > > >    10.21 :   5423d1: jmp    5423d3 <test_rs+0xb3>
> > > > >     0.00 :   5423d3: mov    0x20(%rsp),%eax
> > > > >     0.00 :   5423d7: mov    %eax,%eax
> > > > >     0.00 :   5423d9: test   $0x1,%rax
> > > > >     0.29 :   5423df: je     5423f6 <test_rs+0xd6>
> > > > >          : 65     b.data1 += 1;
> > > > >    13.69 :   5423e1: mov    0x48(%rsp),%rax     # data-type: struct Buf +0x18 (data1)
> > > > >     0.00 :   5423e6: add    $0x1,%rax
> > > > >     0.00 :   5423ea: mov    %rax,0x18(%rsp)     # data-type: u64 +0
> > > > >     0.00 :   5423ef: setb   %al
> > > > >    11.17 :   5423f2: jb     54243a <test_rs+0x11a>
> > > > >     0.00 :   5423f4: jmp    542426 <test_rs+0x106>
> > > > >     0.00 :   5423f6: lea    0x30(%rsp),%rdi
> > > > >          : 73     }
> > > > >
> > > > > Where '# data-type: struct Buf' is as far as I understand a manifestation of
> > > > > data type profiling succeeding. But my environment has slightly different
> > > > > version of rust -- I need to figure out what's going on here, thanks.
> > > >
> > > > I've being testing this in the same way, but without any rust code --
> > > > just on a simple datasym workload. Surprisingly, it seems that
> > > > 'data-type: buf' marks are disappearing even in this case starting from:
> > > >
> > > > c31040085914f1188720073baa43d1483693c0a3 (perf dwarf-regs: Clean up x86
> > > > dwarf_regnum code)
> > >
> > > > I'm not sure yet why this is happening, but don't see anything in the
> > > > commit mentioning that -- since there are no code-with-type tests yet,
> > > > maybe an unexpected side effect?
> > >
> > > Ian, can you please take a look at this?
> >
> > That particular commit is largely adding an i386 to dwarf register
> > number mapping table but it also expands the x86-64 mapping table:
> > https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/commit/?h=perf-tools-next&id=c31040085914f1188720073baa43d1483693c0a3
> > The code to search the table is largely unchanged so my guess would be
> > that the new x86-64 entries are causing a dwarf register to be
> > returned in cases where previously this was -ENOENT. This may have
> > broken the type profiling, but Namhyung would be the expert on that.
>
> Any chance it can get an invalid e_machine?  I'm not sure if it handles
> EM_HOST properly.

EM_HOST should just be EM_X86_64:
https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/util/include/dwarf-regs.h?h=perf-tools-next#n27
or it will be EM_NONE and everything pretty broken.

It was possible previously for a non-dso to report a broken e_machine
but that was fixed in:
https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/commit/tools/perf/util/dso.c?h=perf-tools-next&id=7d0ebeb6c0f735d4eddc679283a1de1dea2ae878

Thanks,
Ian

> Thanks,
> Namhyung
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ