mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 08:07:32 -04:00
asoc: msm-pcm: move null ptr check after lock
Null pointer for runtime is checked before acquiring the lock. By the time, it acquires lock and tries to access private data runtime may be removed which can lead to null ptr dereference. Change-Id: I86ca89bd7dbd765c040bab2a292f62c2d3164140 Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
This commit is contained in:
parent
2ef0c88aec
commit
2b0c995899
1 changed files with 4 additions and 4 deletions
|
|
@ -1797,11 +1797,11 @@ static int msm_pcm_chmap_ctl_put(struct snd_kcontrol *kcontrol,
|
|||
}
|
||||
}
|
||||
|
||||
if (!substream->runtime || !rtd)
|
||||
if (!rtd)
|
||||
return 0;
|
||||
|
||||
mutex_lock(&pdata->lock);
|
||||
prtd = substream->runtime->private_data;
|
||||
prtd = substream->runtime ? substream->runtime->private_data : NULL;
|
||||
if (prtd) {
|
||||
prtd->set_channel_map = true;
|
||||
for (i = 0; i < PCM_FORMAT_MAX_NUM_CHANNEL_V8; i++)
|
||||
|
|
@ -1864,11 +1864,11 @@ static int msm_pcm_chmap_ctl_get(struct snd_kcontrol *kcontrol,
|
|||
|
||||
memset(ucontrol->value.integer.value, 0,
|
||||
sizeof(ucontrol->value.integer.value));
|
||||
if (!substream->runtime || !rtd)
|
||||
if (!rtd)
|
||||
return 0; /* no channels set */
|
||||
|
||||
mutex_lock(&pdata->lock);
|
||||
prtd = substream->runtime->private_data;
|
||||
prtd = substream->runtime ? substream->runtime->private_data : NULL;
|
||||
|
||||
if (prtd && prtd->set_channel_map == true) {
|
||||
for (i = 0; i < PCM_FORMAT_MAX_NUM_CHANNEL_V8; i++)
|
||||
|
|
|
|||
Loading…
Reference in a new issue