On Fri, Jul 08, 2022 at 01:08:01PM -0700, Andrew Morton wrote: > On Fri, 8 Jul 2022 11:06:46 +0200 Adam Sindelar <adam@xxxxxxxxxxxx> wrote: > > > Restores the +x bit to va_128TBswitch.sh, which got dropped from the > > previous patch, somehow. > > > > Fixes: 1afd01d43efc3 ("selftests/vm: Only run 128TBswitch with 5-level > > paging") > > > > Signed-off-by: Adam Sindelar <adam@xxxxxxxxxxxx> > > --- > > tools/testing/selftests/vm/va_128TBswitch.sh | 0 > > 1 file changed, 0 insertions(+), 0 deletions(-) > > mode change 100644 => 100755 tools/testing/selftests/vm/va_128TBswitch.sh > > > > diff --git a/tools/testing/selftests/vm/va_128TBswitch.sh b/tools/testing/selftests/vm/va_128TBswitch.sh > > old mode 100644 > > new mode 100755 > > Half of tools/testing/selftests/vm/*.sh don't have the x bit set. > They're invoked via `/bin/sh foo.sh', which is more robust. > > Can we hunt down and fix the invoking code? Might be as simple as > > --- a/tools/testing/selftests/vm/run_vmtests.sh~a > +++ a/tools/testing/selftests/vm/run_vmtests.sh > @@ -144,7 +144,7 @@ run_test() { > local sep=$(echo -n "$title" | tr "[:graph:][:space:]" -) > printf "%s\n%s\n%s\n" "$sep" "$title" "$sep" > > - "$@" > + /bin/sh "$@" > local ret=$? > if [ $ret -eq 0 ]; then > echo "[PASS]" > _ > I think that would impose the choice of shell on the test scripts. About half of them start with '#!/bin/sh' and the other half with '#!/bin/bash'. Maybe that's something we'd want to do anyway, but it seems like it could have subtle and unintended side effects if the goal is to fix a failing test. (It would also invoke the ELF binaries through /bin/sh, but that probably doesn't matter, since sh will I think exec right away.)