diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-04-27 09:29:18 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-04-27 09:29:18 -0700 |
commit | 7ff5000268355c63dc948ecb01f4de17987586e5 (patch) | |
tree | 7926c03bed0345eb29656fbd7e7d50f2106ea781 /include | |
parent | ee7141c929b3a7bfc06071f5c9d24bfe72d4f92e (diff) | |
parent | 0f925660a7bc49b269c163249a5d06da3a0c7b0a (diff) | |
download | linux-stable-7ff5000268355c63dc948ecb01f4de17987586e5.tar.gz linux-stable-7ff5000268355c63dc948ecb01f4de17987586e5.tar.bz2 linux-stable-7ff5000268355c63dc948ecb01f4de17987586e5.zip |
Merge tag 'sound-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"A significant amount of fixes have been piled up at this time.
- Possible Spectre v1 coverage in OSS sequencer API, control API,
HD-audio hwdep ioctl, ASIHPI hwdep ioctl, OPL3, and HDSPM/RME
channel_info API.
- A regression fix in PCM delay reporting that happened at the code
refactoring for the set_fs() removal
- The long-standing bug in PCM sync_ptr ioctl that missed the audio
timestamp field
- USB-audio regression fixes due to the recent UAC2 jack support
- vm_fault_t conversions in a couple of places
- ASoC topology API fixes
- Assorted driver fixes:
* ASoC rsnd, FSL, Intel SST, DMIC, AMD, ADAU17x1, Realtek codec
* FireWire typo fix
* HD-audio quirks and USB-audio Dell fixup
* USB-audio UAC3 corrections"
* tag 'sound-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (35 commits)
ALSA: dice: fix error path to destroy initialized stream data
ALSA: hda - Skip jack and others for non-existing PCM streams
ALSA: hda/realtek - change the location for one of two front mics
ALSA: rme9652: Hardening for potential Spectre v1
ALSA: hdspm: Hardening for potential Spectre v1
ALSA: asihpi: Hardening for potential Spectre v1
ALSA: opl3: Hardening for potential Spectre v1
ALSA: hda: Hardening for potential Spectre v1
ALSA: control: Hardening for potential Spectre v1
ALSA: seq: oss: Hardening for potential Spectre v1
ALSA: seq: oss: Fix unbalanced use lock for synth MIDI device
ALSA: hda/realtek - Update ALC255 depop optimize
ALSA: hda/realtek - Add some fixes for ALC233
ALSA: pcm: Change return type to vm_fault_t
ALSA: usx2y: Change return type to vm_fault_t
ALSA: usb-audio: ADC3: Fix channel mapping conversion for ADC3.
ALSA: dice: fix OUI for TC group
ALSA: usb-audio: Skip broken EU on Dell dock USB-audio
ALSA: usb-audio: Fix missing endian conversion
ALSA: usb-audio: Fix forgotten conversion of control query functions
...
Diffstat (limited to 'include')
-rw-r--r-- | include/sound/control.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/sound/control.h b/include/sound/control.h index ca13a44ae9d4..6011a58d3e20 100644 --- a/include/sound/control.h +++ b/include/sound/control.h @@ -23,6 +23,7 @@ */ #include <linux/wait.h> +#include <linux/nospec.h> #include <sound/asound.h> #define snd_kcontrol_chip(kcontrol) ((kcontrol)->private_data) @@ -148,12 +149,14 @@ int snd_ctl_get_preferred_subdevice(struct snd_card *card, int type); static inline unsigned int snd_ctl_get_ioffnum(struct snd_kcontrol *kctl, struct snd_ctl_elem_id *id) { - return id->numid - kctl->id.numid; + unsigned int ioff = id->numid - kctl->id.numid; + return array_index_nospec(ioff, kctl->count); } static inline unsigned int snd_ctl_get_ioffidx(struct snd_kcontrol *kctl, struct snd_ctl_elem_id *id) { - return id->index - kctl->id.index; + unsigned int ioff = id->index - kctl->id.index; + return array_index_nospec(ioff, kctl->count); } static inline unsigned int snd_ctl_get_ioff(struct snd_kcontrol *kctl, struct snd_ctl_elem_id *id) |