selftests: firmware: Use smaller dictionary for XZ compression
authorTakashi Iwai <tiwai@suse.de>
Thu, 21 Apr 2022 15:29:05 +0000 (17:29 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 22 Apr 2022 06:51:16 +0000 (08:51 +0200)
The xz -9 option leads to an unnecessarily too large dictionary that
isn't really suitable for the kernel firmware loader.  Pass the
dictionary size explicitly, instead.

While we're at it, make the xz command call defined in $RUN_XZ for
simplicity.

Fixes: 108ae07c5036 ("selftests: firmware: Add compressed firmware tests")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20220421152908.4718-3-tiwai@suse.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/testing/selftests/firmware/fw_filesystem.sh

index c2a2a10..731f011 100755 (executable)
@@ -11,6 +11,8 @@ TEST_REQS_FW_SET_CUSTOM_PATH="yes"
 TEST_DIR=$(dirname $0)
 source $TEST_DIR/fw_lib.sh
 
+RUN_XZ="xz -C crc32 --lzma2=dict=2MiB"
+
 check_mods
 check_setup
 verify_reqs
@@ -410,9 +412,9 @@ test_request_firmware_nowait_custom()
        RANDOM_FILE_PATH=$(setup_random_file)
        RANDOM_FILE="$(basename $RANDOM_FILE_PATH)"
        if [ "$2" = "both" ]; then
-               xz -9 -C crc32 -k $RANDOM_FILE_PATH
+               $RUN_XZ -k $RANDOM_FILE_PATH
        elif [ "$2" = "xzonly" ]; then
-               xz -9 -C crc32 $RANDOM_FILE_PATH
+               $RUN_XZ $RANDOM_FILE_PATH
        fi
        config_set_name $RANDOM_FILE
        config_trigger_async
@@ -501,7 +503,7 @@ test_request_partial_firmware_into_buf_nofile 2 10
 test "$HAS_FW_LOADER_COMPRESS" != "yes" && exit 0
 
 # test with both files present
-xz -9 -C crc32 -k $FW
+$RUN_XZ -k $FW
 config_set_name $NAME
 echo
 echo "Testing with both plain and xz files present..."