diff options
author | Cezary Rojewski <cezary.rojewski@intel.com> | 2022-07-06 14:02:23 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2022-07-09 18:35:39 +0200 |
commit | 0fcc43e2e159f2f609686a5339093177f019ae26 (patch) | |
tree | 7c9900183482b1b6634de252cee5ff61a7de1638 /sound/pci/hda/hda_codec.c | |
parent | 61c606a43b6c74556e35acc645c7a1b6a67c2af9 (diff) |
ALSA: hda: Fix null-ptr-deref when i915 fails and hdmi is denylisted
If snd_hda_hdmi_codec module is denylisted and any event causes i915
enumeration to fail, is_likely_hdmi_codec() ends in null-ptr-deref.
As snd_soc_hda is an ASoC-based driver, its initialization is delayed
until all the necessary components appear in the system - allowing
actual sound card to enumerate. snd_hda_codec_configure() gets called by
the avs-driver core during probe_codecs() but the
snd_hda_codec_device_new(), necessary to complete codecs initialization,
happens only when codec-component of hda sound card is being probed.
Denylisting snd_hda_codec_hdmi module causes snd_hda_codec_configure()
to reach: codec_bind_generic() -> is_likely_hdmi_codec() which makes use
of ->wcaps and at this point the it isn't initialized yet - again,
requires completion of snd_hda_codec_device_new().
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20220706120230.427296-3-cezary.rojewski@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
0 files changed, 0 insertions, 0 deletions