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]
Date:   Tue, 17 Apr 2018 20:30:32 +0530
From:   Sandipan Das <sandipan@...ux.vnet.ibm.com>
To:     Ravi Bangoria <ravi.bangoria@...ux.ibm.com>
Cc:     acme@...nel.org, jolsa@...hat.com, linux-kernel@...r.kernel.org,
        naveen.n.rao@...ux.vnet.ibm.com, sukadev@...ux.vnet.ibm.com,
        maynard@...ibm.com
Subject: Re: [PATCH 1/2] perf tools powerpc: Fix callchain ip filtering


On 04/17/2018 12:29 PM, Ravi Bangoria wrote:
> 
> This change looks good to me but seems it fixed the issue
> partially.Ex,
> 
>     # readelf --debug-dump=frames-interp /lib64/libc-2.26.so | less
>     ...
>     00005778 0000000000000024 0000577c FDE cie=00000000 pc=0000000000048b30..0000000000048c64
>        LOC           CFA      r31   ra   
>     0000000000048b30 r1+0     u     u    
>     0000000000048b40 r1+0     c-8   r0   
>     0000000000048b58 r1+64    c-8   c+16 
>     0000000000048bd8 r1+0     c-8   c+16 
>     0000000000048be4 r1+0     u    
>     0000000000048bf0 r1+64    c-8   c+16 
> 
> 0000000000048b30..0000000000048c64 is arandom() function from libc:
> 
>     0000000000048b30 <random>:
>        48b30:       1c 00 4c 3c     addis   r2,r12,28
>        48b34:       d0 e5 42 38     addi    r2,r2,-6704
>        48b38:       a6 02 08 7c     mflr    r0
>        48b3c:       f8 ff e1 fb     std     r31,-8(r1)
>        48b40:       00 00 00 60     nop
>        48b44:       00 00 20 39     li      r9,0
>        48b48:       80 b5 e2 3b     addi    r31,r2,-19072
>        48b4c:       01 00 00 39     li      r8,1
>        48b50:       10 00 01 f8     std     r0,16(r1)
>        48b54:       c1 ff 21 f8     stdu    r1,-64(r1)
>        48b58:       f0 8f 4d e9     ld      r10,-28688(r13)
>        ...
> 
> Your change fixed the issue for 48b30..48b40. But not for
> 48b40..48b58.
> 
> I probed at 0x48b40.
> 
>     # ./perf record -g -e probe_libc:abs_48b40 ~/rand
> 
> perf report without Suka's and your change:
> 
>     # Children      Self  Trace output 
>     # ........  ........  ..............
>     #
>        100.00%   100.00%  (7fffb7d28b40)
>                 |
>                 ---0
>                    __libc_start_main
>                    generic_start_main.isra.0
>                    main
>                    rand
>                    __random
> 
> perf report with only Suka's change:
> 
>     # Children      Self  Trace output 
>     # ........  ........  ..............
>     #
>        100.00%   100.00%  (7fffb7d28b40)
>                 |
>                 ---0
>                    __libc_start_main
>                    generic_start_main.isra.0
>                    main
>                    __random
> 
> perf report with Suka's and your change:
> 
>     # Children      Self  Trace output 
>     # ........  ........  ..............
>     #
>        100.00%   100.00%  (7fffb7d28b40)
>                 |
>                 ---0
>                    __libc_start_main
>                    generic_start_main.isra.0
>                    main
>                    __random
> 
> I think rand() is a valid entry which is missing in last two cases.
> 
> 

Ah, good catch and thanks for the review. Will address these problems in v2.

- Sandipan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ