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]
Date:   Tue, 08 Aug 2017 19:50:04 +1000
From:   Michael Ellerman <mpe@...erman.id.au>
To:     Andrew Morton <akpm@...ux-foundation.org>,
        "Luis R. Rodriguez" <mcgrof@...nel.org>
Cc:     dmitry.torokhov@...il.com, keescook@...omium.org, jeyu@...hat.com,
        rusty@...tcorp.com.au, mmarek@...e.com, pmladek@...e.com,
        mbenes@...e.cz, jpoimboe@...hat.com, ebiederm@...ssion.com,
        shuah@...nel.org, dan.carpenter@...cle.com,
        colin.king@...onical.com, dcb314@...mail.com,
        linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/5] test_kmod: make selftest executable

Andrew Morton <akpm@...ux-foundation.org> writes:
> On Wed,  2 Aug 2017 14:14:46 -0700 "Luis R. Rodriguez" <mcgrof@...nel.org> wrote:
>
>> We had just forgotten to do this.
>> 
>> Fixes: 39258f448d71 ("kmod: add test driver to stress test the module loader")
>> Signed-off-by: Luis R. Rodriguez <mcgrof@...nel.org>
>> ---
>>  tools/testing/selftests/kmod/kmod.sh | 0
>>  1 file changed, 0 insertions(+), 0 deletions(-)
>>  mode change 100644 => 100755 tools/testing/selftests/kmod/kmod.sh
>> 
>> diff --git a/tools/testing/selftests/kmod/kmod.sh b/tools/testing/selftests/kmod/kmod.sh
>> old mode 100644
>> new mode 100755
>
> This is pretty fragile - I'm not sure that patch/diff are capable of
> communicating a bare chmod.  If someone does a "patch -p1 < patch-4.14"
> or whatever, this change is likely to get lost.
>
> It's more robust to not care about the x bit at all.  Something like
> this?
>
> --- a/tools/testing/selftests/lib.mk~a
> +++ a/tools/testing/selftests/lib.mk
> @@ -14,7 +14,7 @@ all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_
>  define RUN_TESTS
>  	@for TEST in $(TEST_GEN_PROGS) $(TEST_PROGS); do \
>  		BASENAME_TEST=`basename $$TEST`;	\
> -		cd `dirname $$TEST`; (./$$BASENAME_TEST && echo "selftests: $$BASENAME_TEST [PASS]") || echo "selftests:  $$BASENAME_TEST [FAIL]"; cd -;\
> +		cd `dirname $$TEST`; (/bin/sh ./$$BASENAME_TEST && echo "selftests: $$BASENAME_TEST [PASS]") || echo "selftests:  $$BASENAME_TEST [FAIL]"; cd -;\
>  	done;
>  endef

Most (many?) of the tests aren't shell scripts, so that doesn't work, eg:

  $ make -C tools/testing/selftests/ TARGETS=kcmp run_tests
  ...
  make[1]: Entering directory '/home/michael/linus/tools/testing/selftests/kcmp'
  ./kcmp_test: 1: ./kcmp_test: ELF......0.@�..@@...@@.@.�.�....................����..��..�.�.....�.�...�..�.�..........DD.Q�td..R�td.����..��.../lib64/ld64.so.2...GNU.....GNUC{: not found
  ./kcmp_test: 13: ./kcmp_test: Syntax error: Unterminated quoted string
  selftests:  kcmp_test [FAIL]


Also some of the ones which are shell scripts require bash, and /bin/sh
may not be bash, eg:

  $ make -C tools/testing/selftests/ TARGETS=cpu-hotplug run_tests
  ...
  make[1]: Entering directory '/home/michael/linus/tools/testing/selftests/cpu-hotplug'
  ./cpu-on-off-test.sh: 9: [: !=: unexpected operator


cheers

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ