diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2015-10-28 18:03:48 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-11-16 13:09:29 +0300 |
commit | 8b27418f300cafbdbbb8cfa9c29d398ed34d6723 (patch) | |
tree | 1b376e3a759b9252da3aea9822ed1ff9af2fd9e8 /sound/soc/sh/rcar/adg.c | |
parent | 9c66eedc17bdf180d952e8d3550a23c2f93d9fff (diff) | |
download | linux-8b27418f300cafbdbbb8cfa9c29d398ed34d6723.tar.xz |
ASoC: rsnd: Add missing initialization of ADG req_rate
If the "clock-frequency" DT property is not found, req_rate is used
uninitialized, and the "audio_clkout" clock will be created with an
arbitrary clock rate.
This uninitialized kernel stack data may leak to userspace through
/sys/kernel/debug/clk/clk_summary, cfr. the value in the "rate" column:
clock enable_cnt prepare_cnt rate accuracy phase
--------------------------------------------------------------------
audio_clkout 0 0 4001836240 0 0
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/sh/rcar/adg.c')
-rw-r--r-- | sound/soc/sh/rcar/adg.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c index 2a5b3a293cd2..b123734f9fbd 100644 --- a/sound/soc/sh/rcar/adg.c +++ b/sound/soc/sh/rcar/adg.c @@ -437,7 +437,7 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv, struct device *dev = rsnd_priv_to_dev(priv); struct device_node *np = dev->of_node; u32 ckr, rbgx, rbga, rbgb; - u32 rate, req_rate, div; + u32 rate, req_rate = 0, div; uint32_t count = 0; unsigned long req_48kHz_rate, req_441kHz_rate; int i; |