On 6/5/19 8:45 AM, Amadeusz Sławiński wrote:
During the integration of HDaudio support, we changed the way in which
we get hdev in snd_hdac_ext_bus_device_init() to use one preallocated
with devm_kzalloc(), however it still left kfree(hdev) in
snd_hdac_ext_bus_device_exit(). It leads to oopses when trying to
rmmod and modprobe. Fix it, by just removing kfree call.

SOF also uses some of the snd_hdac_ functions for HDAudio support but
allocated the memory with kzalloc. A matching fix is provided
separately to align all users of the snd_hdac_ library.

There are stability issues with this change (already shared in a separate series) and additional findings reported by Libin so this should not be applied for now.


Fixes: 6298542fa33b ("ALSA: hdac: remove memory allocation from 
snd_hdac_ext_bus_device_init")
Reviewed-by: Takashi Iwai <ti...@suse.de>
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawin...@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.boss...@linux.intel.com>
---
  sound/hda/ext/hdac_ext_bus.c | 1 -
  1 file changed, 1 deletion(-)

diff --git a/sound/hda/ext/hdac_ext_bus.c b/sound/hda/ext/hdac_ext_bus.c
index c203af71a099..f33ba58b753c 100644
--- a/sound/hda/ext/hdac_ext_bus.c
+++ b/sound/hda/ext/hdac_ext_bus.c
@@ -170,7 +170,6 @@ EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_device_init);
  void snd_hdac_ext_bus_device_exit(struct hdac_device *hdev)
  {
        snd_hdac_device_exit(hdev);
-       kfree(hdev);
  }
  EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_device_exit);

Reply via email to