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: <CAL_JsqJo14uLmz5n4gSEf0gjEcODCMrsNEZKj_EnZoVPGFfDQw@mail.gmail.com>
Date:   Tue, 18 Apr 2023 14:56:34 -0500
From:   Rob Herring <robh@...nel.org>
To:     Thomas Richter <tmricht@...ux.ibm.com>
Cc:     linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
        acme@...nel.org, jolsa@...nel.org, svens@...ux.ibm.com,
        gor@...ux.ibm.com, sumanthk@...ux.ibm.com, hca@...ux.ibm.com
Subject: Re: [PATCH] perf/test: Fix wrong size for perf test Setup struct perf_event_attr

On Wed, Mar 15, 2023 at 7:13 AM Thomas Richter <tmricht@...ux.ibm.com> wrote:
>
> The test case ./perf test 'Setup struct perf_event_attr' fails.
> On s390 this output is observed:
>
>  # ./perf test -Fvvvv 17
>  17: Setup struct perf_event_attr                                    :
>  --- start ---
>  running './tests/attr/test-stat-C0'
>  Using CPUID IBM,8561,703,T01,3.6,002f
>  .....
>  Event event:base-stat
>       fd = 1
>       group_fd = -1
>       flags = 0|8
>       cpu = *
>       type = 0
>       size = 128     <<<--- wrong, specified in file base-stat
>       config = 0
>       sample_period = 0
>       sample_type = 65536
>       ...
>  'PERF_TEST_ATTR=/tmp/tmpgw574wvg ./perf stat -o \
>         /tmp/tmpgw574wvg/perf.data -e cycles -C 0 kill >/dev/null \
>         2>&1 ret '1', expected '1'
>   loading result events
>     Event event-0-0-4
>       fd = 4
>       group_fd = -1
>       cpu = 0
>       pid = -1
>       flags = 8
>       type = 0
>       size = 136     <<<--- actual size used in system call
>       .....
>   compare
>     matching [event-0-0-4]
>       to [event:base-stat]
>       [cpu] 0 *
>       [flags] 8 0|8
>       [type] 0 0
>       [size] 136 128
>     ->FAIL
>     match: [event-0-0-4] matches []
>   expected size=136, got 128
>   FAILED './tests/attr/test-stat-C0' - match failure
>
> This mismatch is caused by
> commit 09519ec3b19e ("perf: Add perf_event_attr::config3")
> which enlarges the structure perf_event_attr by 8 bytes.
>
> Fix this by adjusting the expected value of size.
>
> Output after:
>  # ./perf test -Fvvvv 17
>  17: Setup struct perf_event_attr                                    :
>  --- start ---
>  running './tests/attr/test-stat-C0'
>  Using CPUID IBM,8561,703,T01,3.6,002f
>  ...
>   matched
>   compare
>     matching [event-0-0-4]
>       to [event:base-stat]
>       [cpu] 0 *
>       [flags] 8 0|8
>       [type] 0 0
>       [size] 136 136
>       ....
>    ->OK
>    match: [event-0-0-4] matches ['event:base-stat']
>  matched
>
> Fixes: 09519ec3b19e ("perf: Add perf_event_attr::config3")

Shouldn't a kernel with this change work with an old version of perf without?

Anyways, looks like the change is needed regardless.

Acked-by: Rob Herring <robh@...nel.org>

>
> Signed-off-by: Thomas Richter <tmricht@...ux.ibm.com>
> ---
>  tools/perf/tests/attr/base-record       | 2 +-
>  tools/perf/tests/attr/base-stat         | 2 +-
>  tools/perf/tests/attr/system-wide-dummy | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ