summaryrefslogtreecommitdiffstats
path: root/sound/ac97_bus.c
diff options
context:
space:
mode:
authorGustavo A. R. Silva <gustavo@embeddedor.com>2018-12-18 18:18:34 +0100
committerTakashi Iwai <tiwai@suse.de>2018-12-19 14:32:41 +0100
commit0b84304ef5da92add8dc75a1b07879c5374cdb05 (patch)
treea3f09b35b3ca14e353c8d247abb2bbb40ca38a28 /sound/ac97_bus.c
parentMerge tag 'asoc-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/broon... (diff)
downloadlinux-0b84304ef5da92add8dc75a1b07879c5374cdb05.tar.xz
linux-0b84304ef5da92add8dc75a1b07879c5374cdb05.zip
ALSA: rme9652: Fix potential Spectre v1 vulnerability
info->channel is indirectly controlled by user-space, hence leading to a potential exploitation of the Spectre variant 1 vulnerability. This issue was detected with the help of Smatch: sound/pci/rme9652/hdsp.c:4100 snd_hdsp_channel_info() warn: potential spectre issue 'hdsp->channel_map' [r] (local cap) Fix this by sanitizing info->channel before using it to index hdsp->channel_map Notice that given that speculation windows are large, the policy is to kill the speculation on the first load and not worry if it can be completed with a dependent load/store [1]. Also, notice that I refactored the code a bit in order to get rid of the following checkpatch warning: ERROR: do not use assignment in if condition FILE: sound/pci/rme9652/hdsp.c:4103: if ((mapped_channel = hdsp->channel_map[info->channel]) < 0) [1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2 Cc: stable@vger.kernel.org Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/ac97_bus.c')
0 files changed, 0 insertions, 0 deletions