Message ID | 20241010221649.1305-1-m.masimov@maxima.ru (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ALSA: hda/cs8409: Fix possible NULL dereference | expand |
On Fri, 11 Oct 2024 00:16:45 +0200, Murad Masimov wrote: > > If snd_hda_gen_add_kctl fails to allocate memory and returns NULL, then > NULL pointer dereference will occur in the next line. > > Since dolphin_fixups function is a hda_fixup function which is not supposed > to return any errors, add simple check before dereference, ignore the fail. > > Found by Linux Verification Center (linuxtesting.org) with SVACE. > > Fixes: 20e507724113 ("ALSA: hda/cs8409: Add support for dolphin") > Signed-off-by: Murad Masimov <m.masimov@maxima.ru> Thanks, applied. Takashi
diff --git a/sound/pci/hda/patch_cs8409.c b/sound/pci/hda/patch_cs8409.c index 26f3c31600d7..614327218634 100644 --- a/sound/pci/hda/patch_cs8409.c +++ b/sound/pci/hda/patch_cs8409.c @@ -1403,8 +1403,9 @@ void dolphin_fixups(struct hda_codec *codec, const struct hda_fixup *fix, int ac kctrl = snd_hda_gen_add_kctl(&spec->gen, "Line Out Playback Volume", &cs42l42_dac_volume_mixer); /* Update Line Out kcontrol template */ - kctrl->private_value = HDA_COMPOSE_AMP_VAL_OFS(DOLPHIN_HP_PIN_NID, 3, CS8409_CODEC1, - HDA_OUTPUT, CS42L42_VOL_DAC) | HDA_AMP_VAL_MIN_MUTE; + if (kctrl) + kctrl->private_value = HDA_COMPOSE_AMP_VAL_OFS(DOLPHIN_HP_PIN_NID, 3, CS8409_CODEC1, + HDA_OUTPUT, CS42L42_VOL_DAC) | HDA_AMP_VAL_MIN_MUTE; cs8409_enable_ur(codec, 0); snd_hda_codec_set_name(codec, "CS8409/CS42L42"); break;
If snd_hda_gen_add_kctl fails to allocate memory and returns NULL, then NULL pointer dereference will occur in the next line. Since dolphin_fixups function is a hda_fixup function which is not supposed to return any errors, add simple check before dereference, ignore the fail. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes: 20e507724113 ("ALSA: hda/cs8409: Add support for dolphin") Signed-off-by: Murad Masimov <m.masimov@maxima.ru> --- sound/pci/hda/patch_cs8409.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -- 2.39.2