Patch "ASoC: max98090: Reject invalid values in custom control put()" has been added to the 4.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ASoC: max98090: Reject invalid values in custom control put()

to the 4.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     asoc-max98090-reject-invalid-values-in-custom-contro.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 4910fc1745c26cca746d5be13094862d43f1b7a3
Author: Mark Brown <broonie@xxxxxxxxxx>
Date:   Wed Apr 20 20:34:53 2022 +0100

    ASoC: max98090: Reject invalid values in custom control put()
    
    [ Upstream commit 2fbe467bcbfc760a08f08475eea6bbd4c2874319 ]
    
    The max98090 driver has a custom put function for some controls which can
    only be updated in certain circumstances which makes no effort to validate
    that input is suitable for the control, allowing out of spec values to be
    written to the hardware and presented to userspace. Fix this by returning
    an error when invalid values are written.
    
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20220420193454.2647908-1-broonie@xxxxxxxxxx
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c
index e7aef841f87d..4aefb13900c2 100644
--- a/sound/soc/codecs/max98090.c
+++ b/sound/soc/codecs/max98090.c
@@ -419,6 +419,9 @@ static int max98090_put_enab_tlv(struct snd_kcontrol *kcontrol,
 
 	val = (val >> mc->shift) & mask;
 
+	if (sel < 0 || sel > mc->max)
+		return -EINVAL;
+
 	*select = sel;
 
 	/* Setting a volume is only valid if it is already On */



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux