]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests/zram: fix kernel_gte() for POSIX sh
authorCheng-Han Wu <hank20010209@gmail.com>
Sun, 7 Jun 2026 09:57:32 +0000 (17:57 +0800)
committerShuah Khan <skhan@linuxfoundation.org>
Thu, 30 Jul 2026 13:55:37 +0000 (07:55 -0600)
Commit fc4eb486a59d ("selftests/zram: Skip max_comp_streams
interface on newer kernel") added kernel_gte() to zram_lib.sh.
The function uses the bash-specific [[ ... ]] conditional, but
zram selftests source this file while running under /bin/sh.

On systems where /bin/sh is dash, such as Debian, the following
test fails:

  dash -c '
  kernel_major=6; kernel_minor=1; major=6; minor=0
  if [ $kernel_major -gt $major ]; then
      echo ok
  elif [[ $kernel_major -eq $major && $kernel_minor -ge $minor ]]; then
      echo ok
  fi'

with:

  dash: 5: [[: not found

Use separate POSIX test expressions joined by && instead.

Fixes: fc4eb486a59d ("selftests/zram: Skip max_comp_streams interface on newer kernel")
Signed-off-by: Cheng-Han Wu <hank20010209@gmail.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/zram/zram_lib.sh

index 21ec1966de76ca4047fe50eea82015bc03986c98..0d44d83888f9d4f4e9c3f52f791a1ca5d59cb2e7 100755 (executable)
@@ -37,7 +37,7 @@ kernel_gte()
 
        if [ $kernel_major -gt $major ]; then
                return 0
-       elif [[ $kernel_major -eq $major && $kernel_minor -ge $minor ]]; then
+       elif [ $kernel_major -eq $major ] && [ $kernel_minor -ge $minor ]; then
                return 0
        fi