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: <d58dfe42-5888-445d-979f-44bd59148079@os.amperecomputing.com>
Date: Mon, 2 Sep 2024 11:42:30 +0530
From: Ganapatrao Kulkarni <gankulkarni@...amperecomputing.com>
To: James Clark <james.clark@...aro.org>, Mike Leach <mike.leach@...aro.org>
Cc: Leo Yan <leo.yan@....com>, scclevenger@...amperecomputing.com,
 acme@...hat.com, coresight@...ts.linaro.org,
 linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
 darren@...amperecomputing.com, james.clark@....com, suzuki.poulose@....com,
 Al.Grant@....com
Subject: Re: [PATCH] perf scripts python arm-cs-trace-disasm.py: Skip disasm
 if address continuity is broken



On 30-08-2024 03:28 pm, James Clark wrote:
> 
> 
> On 23/08/2024 10:57 am, Ganapatrao Kulkarni wrote:
>>
>> Hi James/Mike,
>>
>> On 23-08-2024 02:33 pm, James Clark wrote:
>>>
>>>
>>> On 19/08/2024 11:59 am, Mike Leach wrote:
>>>> Hi,
>>>>
>>>> A new branch of OpenCSD is available - 
>>>> ocsd-consistency-checks-1.5.4-rc1
>>>>
>>>> Testing I managed to do confirms the N atom on unconditional branches
>>>> appear to work. I do not have a test case for the range
>>>> discontinuities.
>>>>
>>>> The checks are enabled using operation flags on decoder creation. See
>>>> the docs for details.
>>>>
>>>> Mike
>>>>
>>>
>>> Hi Mike,
>>>
>>> I tested the new OpenCSD and I don't see the error anymore in the
>>> disassembly script. I'm not sure if we need to go any further and add
>>> the backwards check, it looks like just a later symptom and the checks
>>> that you've added already prevent it.
>>>
>>> If you release a new version I can send the perf patch. I was going to
>>> use these flags if that looks right to you? As far as I know that's the
>>> set that can be always on and won't fail on bad hardware?
>>>
>>> I also assumed that ETM4_OPFLG_PKTDEC_AA64_OPCODE_CHK can be given even
>>> for etmv3 and it's just a nop?
>>>
>>> diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 
>>> b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
>>> index e917985bbbe6..90967fd807e6 100644
>>> --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
>>> +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
>>> @@ -685,9 +685,14 @@ cs_etm_decoder__create_etm_decoder(struct 
>>> cs_etm_decoder_params *d_params,
>>>                  return 0;
>>>
>>>          if (d_params->operation == CS_ETM_OPERATION_DECODE) {
>>> +               int decode_flags = OCSD_CREATE_FLG_FULL_DECODER;
>>> +#ifdef OCSD_OPFLG_N_UNCOND_DIR_BR_CHK
>>> +               decode_flags |= OCSD_OPFLG_N_UNCOND_DIR_BR_CHK | 
>>> OCSD_OPFLG_CHK_RANGE_CONTINUE |
>>> +                               ETM4_OPFLG_PKTDEC_AA64_OPCODE_CHK;
>>> +#endif
>>>                  if (ocsd_dt_create_decoder(decoder->dcd_tree,
>>>                                             decoder->decoder_name,
>>> -                                          OCSD_CREATE_FLG_FULL_DECODER,
>>> +                                          decode_flags,
>>>                                             trace_config, &csid))
>>>                          return -1;
>>>
>>
>> I tried Mike's branch with above James's patch and still the segfault 
>> is happening to us.
>>
> 
> Looks like the Perf bug is only on the timestamped decode path, you can 
> force timeless as a workaround. Timestamps aren't used by the 
> disassembly script anyway:
> 
>    --itrace=Zb
> 
> Full command:
> 
>    perf script -i ./kcore -s python:tools/perf/scripts/python/arm-cs-\
>       trace-disasm.py --itrace=Zb -- -k ./kcore/kcore_dir/kcore
> 

Thanks James, I could run without any issue with "--itrace=Zb"

> You can also disable timestamps when recording then you don't need the 
> itrace option. This will save you a lot of data anyway.
> 
> But I'm still working on the proper fix.
Thanks.

-- 
Thanks,
Ganapat/GK

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ