[alsa-devel] [PATCH] ASoC: Fix soc-cache buffer overflow bug
Make sure we stay within the cache boundaries when updating the register cache.
Signed-off-by: Dimitris Papastamos dp@opensource.wolfsonmicro.com --- sound/soc/soc-cache.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/sound/soc/soc-cache.c b/sound/soc/soc-cache.c index 1228111..28bf1ff 100644 --- a/sound/soc/soc-cache.c +++ b/sound/soc/soc-cache.c @@ -203,8 +203,9 @@ static int snd_soc_8_16_write(struct snd_soc_codec *codec, unsigned int reg, data[1] = (value >> 8) & 0xff; data[2] = value & 0xff;
- if (!snd_soc_codec_volatile_register(codec, reg)) - reg_cache[reg] = value; + if (!snd_soc_codec_volatile_register(codec, reg) + && reg < codec->driver->reg_cache_size) + reg_cache[reg] = value;
if (codec->cache_only) { codec->cache_sync = 1;
On Tue, Sep 21, 2010 at 02:12:35PM +0100, Dimitris Papastamos wrote:
Make sure we stay within the cache boundaries when updating the register cache.
Signed-off-by: Dimitris Papastamos dp@opensource.wolfsonmicro.com
OK, will wait for Liam's review before applying but as discussed off-line please also do a version of this patch that applies to 2.6.36-rc since it's a bug fix.
On Tue, 2010-09-21 at 14:21 +0100, Mark Brown wrote:
On Tue, Sep 21, 2010 at 02:12:35PM +0100, Dimitris Papastamos wrote:
Make sure we stay within the cache boundaries when updating the register cache.
Signed-off-by: Dimitris Papastamos dp@opensource.wolfsonmicro.com
OK, will wait for Liam's review before applying but as discussed off-line please also do a version of this patch that applies to 2.6.36-rc since it's a bug fix. _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Acked-by: Liam Girdwood lrg@slimlogic.co.uk
On Tue, Sep 21, 2010 at 02:12:35PM +0100, Dimitris Papastamos wrote:
Make sure we stay within the cache boundaries when updating the register cache.
Signed-off-by: Dimitris Papastamos dp@opensource.wolfsonmicro.com
Applied, thanks.
participants (3)
-
Dimitris Papastamos
-
Liam Girdwood
-
Mark Brown