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  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]
Date:   Wed, 25 Oct 2017 17:48:50 +0900
From:   Namhyung Kim <namhyung@...nel.org>
To:     Jiri Olsa <jolsa@...hat.com>
Cc:     Arnaldo Carvalho de Melo <acme@...nel.org>,
        Ingo Molnar <mingo@...nel.org>,
        Peter Zijlstra <a.p.zijlstra@...llo.nl>,
        Jiri Olsa <jolsa@...nel.org>,
        LKML <linux-kernel@...r.kernel.org>, kernel-team@....com,
        Milian Wolff <milian.wolff@...b.com>
Subject: Re: [PATCH] perf callchain: Pass relative address to hist entry

Hi Jiri,

On Wed, Oct 25, 2017 at 10:34:32AM +0200, Jiri Olsa wrote:
> On Wed, Oct 25, 2017 at 11:12:09AM +0900, Namhyung Kim wrote:
> > The addr_location->addr should have relative address to be passed to
> > hist entry so that it can compare with others which might come from a
> > different address space.
> > 
> > The callchain_cursor_node->ip already has a relative address thus it
> > should not map it again.  But I found a bug handling cumulative
> > (children) entries.  For chilren entries that has no self period, the
> > al->addr (so he->ip) ends up having an doubly-mapped address.
> > 
> > It seems to be there from the beginning but only affects entries that
> > have no srclines - finding srcline itself is done using a different
> > address but it will show the invalid address if no srcline was found.
> > 
> > Tested-by: Milian Wolff <milian.wolff@...b.com>
> > Fixes: c7405d85d7a3 ("perf tools: Update cpumode for each cumulative entry")
> > Signed-off-by: Namhyung Kim <namhyung@...nel.org>
> 
> hum, I'm getting differences in hist entries for:
> 
>  $ perf record --all-user -ga sleep 1
>  $ perf perf report --stdio > ...
>  ...
>  $ diff -puw  /tmp/o.old /tmp/o.new

I'd like to say that the old address is invalid since user space
function address should not be started with 0xffff...

The last paragraph of the commit message should say that it also
affects entries don't have symbols.

Thanks,
Namhyung


> 
> 
> jirka
> 
> 
> ---
> @@ -51,7 +51,7 @@
>                            |
>                             --0.94%--0x3
> 
> -     3.38%     0.00%  Web Content      libxul.so                    [.] 0xffff8087f8e046a5
> +     3.38%     0.00%  Web Content      libxul.so                    [.] 0x00000000031c16a5
>              |
>              ---0x31c16a5
>                 |
> @@ -91,7 +91,7 @@
>                 |
>                  --1.62%--malloc
> 
> -     2.47%     0.00%  Compositor       libxul.so                    [.] 0xffff80e6f2807790
> +     2.47%     0.00%  Compositor       libxul.so                    [.] 0x0000000000b9b790
>              |
>              ---0xb9b790
>                 |
> @@ -163,7 +163,7 @@
>              |
>              ---0x72be62f5fdc55d00
> 
> -     1.05%     0.00%  Compositor       libxul.so                    [.] 0xffff80e6f280f100
> +     1.05%     0.00%  Compositor       libxul.so                    [.] 0x0000000000ba3100
>              |
>              ---0xba3100
>                 |
> 

Powered by blists - more mailing lists