]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/alsa: Fix format specifier and function mismatch in mixer-test
authorMalaya Kumar Rout <malayarout91@gmail.com>
Sun, 5 Jul 2026 17:10:38 +0000 (22:40 +0530)
committerTakashi Iwai <tiwai@suse.de>
Mon, 6 Jul 2026 08:24:05 +0000 (10:24 +0200)
In the ctl_value_index_valid() function, when validating 64-bit integer
controls (SND_CTL_ELEM_TYPE_INTEGER64), the error message for maximum
value validation has two bugs:

1. Uses snd_ctl_elem_info_get_max() instead of the 64-bit variant
   snd_ctl_elem_info_get_max64()
2. Uses %ld format specifier instead of %lld for long long type

This is inconsistent with the minimum value validation (line 335-339)
which correctly uses get_min64() and %lld. The mismatch can cause:
- Incorrect maximum values being reported on some architectures
- Undefined behavior due to format specifier mismatch
- Potential crashes when printing the error message

Fix by using snd_ctl_elem_info_get_max64() and %lld format specifier
to match the data type and be consistent with the minimum value check.

Signed-off-by: Malaya Kumar Rout <malayarout91@gmail.com>
Link: https://patch.msgid.link/20260705171038.171966-1-malayarout91@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
tools/testing/selftests/alsa/mixer-test.c

index c5ae2a026ce91938eaf24416aaa398183385095f..a329f901c5edf4f1d4c4c010fbf550543e4dc3a9 100644 (file)
@@ -340,9 +340,9 @@ static bool ctl_value_index_valid(struct ctl_data *ctl,
                }
 
                if (int64_val > snd_ctl_elem_info_get_max64(ctl->info)) {
-                       ksft_print_msg("%s.%d value %lld more than maximum %ld\n",
+                       ksft_print_msg("%s.%d value %lld more than maximum %lld\n",
                                       ctl->name, index, int64_val,
-                                      snd_ctl_elem_info_get_max(ctl->info));
+                                      snd_ctl_elem_info_get_max64(ctl->info));
                        return false;
                }