OSDN Git Service

ASoC: mt6358: Validate Wake on Voice 2 writes
authorMark Brown <broonie@kernel.org>
Sun, 26 Feb 2023 12:47:57 +0000 (12:47 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 28 Feb 2023 13:58:41 +0000 (13:58 +0000)
Currently the Wake on Voice 2 control accepts and stores any value written
but it reports that only 0 and 1 are valid values. Reject any out of range
values written by userspace.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230224-asoc-mt6358-quick-fixes-v1-2-747d9186be4b@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/mt6358.c

index 9004377..89d0dcb 100644 (file)
@@ -560,6 +560,9 @@ static int mt6358_put_wov(struct snd_kcontrol *kcontrol,
        struct mt6358_priv *priv = snd_soc_component_get_drvdata(c);
        int enabled = ucontrol->value.integer.value[0];
 
+       if (enabled < 0 || enabled > 1)
+               return -EINVAL;
+
        if (priv->wov_enabled != enabled) {
                if (enabled)
                        mt6358_enable_wov_phase2(priv);