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] [thread-next>] [day] [month] [year] [list]
Message-ID: <2abc7355-190e-b8a6-173f-d3190a0229aa@foss.arm.com>
Date:   Thu, 16 Dec 2021 19:45:42 +0000
From:   Carsten Haitzler <carsten.haitzler@...s.arm.com>
To:     Daniel Thompson <daniel.thompson@...aro.org>
Cc:     linux-kernel@...r.kernel.org, coresight@...ts.linaro.org,
        suzuki.poulose@....com, mathieu.poirier@...aro.org,
        mike.leach@...aro.org, leo.yan@...aro.org,
        inux-perf-users@...r.kernel.org, acme@...nel.org
Subject: Re: [PATCH 02/12] perf test: Shell - only run .sh shell files to skip
 other files



On 12/16/21 10:22, Daniel Thompson wrote:
> On Wed, Dec 15, 2021 at 04:03:53PM +0000, carsten.haitzler@...s.arm.com wrote:
>> From: Carsten Haitzler <carsten.haitzler@....com>
>>
>> You edit your scripts in the tests and end up with your usual shell
>> backup files with ~ or .bak or something else at the end, but then your
>> next perf test run wants to run the backups too. You might also have perf
>> .data files in the directory or something else undesireable as well. You end
>> up chasing which test is the one you edited and the backup and have to keep
>> removing all the backup files, so automatically skip any files that are
>> not plain *.sh scripts to limit the time wasted in chasing ghosts.
>>
>> Signed-off-by: Carsten Haitzler <carsten.haitzler@....com>
> 
> Why require both executable *and* endswith('.sh')?

Paranoia. :) Making sure we really only run things that are meant to be 
run and avoid other junk/tmp/whatever files.

>> ---
>>   tools/perf/tests/builtin-test.c | 15 ++++++++++++++-
>>   1 file changed, 14 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
>> index ece272b55587..849737ead9fd 100644
>> --- a/tools/perf/tests/builtin-test.c
>> +++ b/tools/perf/tests/builtin-test.c
>> @@ -297,7 +297,20 @@ static const char *shell_test__description(char *description, size_t size,
>>   	for (int __i = 0; __i < nr && (ent = entlist[__i]); __i++)	\
>>   		if (!is_directory(base, ent) && \
>>   			is_executable_file(base, ent) && \
>> -			ent->d_name[0] != '.')
>> +			ent->d_name[0] != '.' && \
>> +			(shell_file_is_sh(ent->d_name) == 0))
>> +
>> +static int shell_file_is_sh(const char *file)
>> +{
>> +	const char *ext;
>> +
>> +	ext = strchr(file, '.');
> 
> Shouldn't this be strrchr()?

Oh indeed probably should be. My bad. Nothing uses a dot inside the 
filename yet. I can fix that - will wait for the rest to come in before 
doing an update

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ