Re: [PATCH AUTOSEL 5.10 26/38] ALSA: vmaster: Return error for invalid input values

Pavel Machek
2024-08-27T12:26:11Z

[-- Attachment #1: Type: text/plain, Size: 1531 bytes --]

Hi!

> From: Takashi Iwai <tiwai@suse.de>
>
> [ Upstream commit 10457f5042b4890a667e2f15a2e783490dda44d2 ]
>
> So far the vmaster code has been tolerant about the input values and
> accepts any values by correcting internally. But now our own selftest
> starts complaining about this behavior, so let's be picky and change
> the behavior to return -EINVAL for invalid input values instead.

Does it fix a bug serious enough for -stable?

Best regards,
Pavel

> +++ b/sound/core/vmaster.c
> @@ -204,6 +204,12 @@ static int follower_put(struct snd_kcontrol *kcontrol,
> err = follower_init(follower);
> if (err < 0)
> return err;
> + for (ch = 0; ch < follower->info.count; ch++) {
> + if (ucontrol->value.integer.value[ch] < follower->info.min_val ||
> + ucontrol->value.integer.value[ch] > follower->info.max_val)
> + return -EINVAL;
> + }
> +
> for (ch = 0; ch < follower->info.count; ch++) {
> if (follower->vals[ch] != ucontrol->value.integer.value[ch]) {
> changed = 1;
> @@ -344,6 +350,8 @@ static int master_put(struct snd_kcontrol *kcontrol,
> new_val = ucontrol->value.integer.value[0];
> if (new_val == old_val)
> return 0;
> + if (new_val < master->info.min_val || new_val > master->info.max_val)
> + return -EINVAL;
>
> err = sync_followers(master, old_val, new_val);
> if (err < 0)

--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]