Takashi Iwai 088e861edf ALSA: control: Hardening for potential Spectre v1
As recently Smatch suggested, a few places in ALSA control core codes
may expand the array directly from the user-space value with
speculation:

  sound/core/control.c:1003 snd_ctl_elem_lock() warn: potential spectre issue 'kctl->vd'
  sound/core/control.c:1031 snd_ctl_elem_unlock() warn: potential spectre issue 'kctl->vd'
  sound/core/control.c:844 snd_ctl_elem_info() warn: potential spectre issue 'kctl->vd'
  sound/core/control.c:891 snd_ctl_elem_read() warn: potential spectre issue 'kctl->vd'
  sound/core/control.c:939 snd_ctl_elem_write() warn: potential spectre issue 'kctl->vd'

Although all these seem doing only the first load without further
reference, we may want to stay in a safer side, so hardening with
array_index_nospec() would still make sense.

In this patch, we put array_index_nospec() to the common
snd_ctl_get_ioff*() helpers instead of each caller.  These helpers are
also referred from some drivers, too, and basically all usages are to
calculate the array index from the user-space value, hence it's better
to cover there.

BugLink: https://marc.info/?l=linux-kernel&m=152411496503418&w=2
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-04-25 10:37:46 +02:00
..
2011-08-17 00:53:54 +09:00
2011-05-19 14:10:45 -07:00
2017-10-11 15:06:10 +02:00
2014-05-05 18:20:22 -07:00
2015-11-30 12:24:12 +00:00
2012-09-28 14:21:54 +01:00
2018-04-05 10:42:07 -07:00
2017-11-27 16:19:52 -05:00
2010-10-18 16:46:27 -07:00
2017-11-29 09:26:33 +01:00
2014-07-04 18:50:51 +01:00
2015-07-09 12:00:11 +01:00
2016-09-24 19:51:57 +01:00
2015-03-11 12:08:20 +00:00
2012-12-24 15:57:20 +00:00
2017-11-13 15:45:57 +01:00
2014-09-15 15:52:03 +02:00
2011-09-20 16:02:16 +01:00
2009-12-18 13:06:47 +00:00
2011-08-08 14:30:37 +09:00
2010-04-30 16:12:44 +01:00