Skip to content

Commit

Permalink
staging: greybus: audio_helper: remove unused and wrong debugfs usage
Browse files Browse the repository at this point in the history
commit d517cde upstream.

In the greybus audio_helper code, the debugfs file for the dapm has the
potential to be removed and memory will be leaked.  There is also the
very real potential for this code to remove ALL debugfs entries from the
system, and it seems like this is what will really happen if this code
ever runs.  This all is very wrong as the greybus audio driver did not
create this debugfs file, the sound core did and controls the lifespan
of it.

So remove all of the debugfs logic from the audio_helper code as there's
no way it could be correct.  If this really is needed, it can come back
with a fixup for the incorrect usage of the debugfs_lookup() call which
is what caused this to be noticed at all.

Cc: Johan Hovold <johan@kernel.org>
Cc: Alex Elder <elder@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: stable <stable@kernel.org>
Link: https://lore.kernel.org/r/20220902143715.320500-1-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
gregkh committed Oct 21, 2022
1 parent aee962d commit d835fa4
Showing 1 changed file with 0 additions and 11 deletions.
11 changes: 0 additions & 11 deletions drivers/staging/greybus/audio_helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* Greybus Audio Sound SoC helper APIs
*/

#include <linux/debugfs.h>
#include <sound/core.h>
#include <sound/soc.h>
#include <sound/soc-dapm.h>
Expand Down Expand Up @@ -116,10 +115,6 @@ int gbaudio_dapm_free_controls(struct snd_soc_dapm_context *dapm,
{
int i;
struct snd_soc_dapm_widget *w, *tmp_w;
#ifdef CONFIG_DEBUG_FS
struct dentry *parent = dapm->debugfs_dapm;
struct dentry *debugfs_w = NULL;
#endif

mutex_lock(&dapm->card->dapm_mutex);
for (i = 0; i < num; i++) {
Expand All @@ -139,12 +134,6 @@ int gbaudio_dapm_free_controls(struct snd_soc_dapm_context *dapm,
continue;
}
widget++;
#ifdef CONFIG_DEBUG_FS
if (!parent)
debugfs_w = debugfs_lookup(w->name, parent);
debugfs_remove(debugfs_w);
debugfs_w = NULL;
#endif
gbaudio_dapm_free_widget(w);
}
mutex_unlock(&dapm->card->dapm_mutex);
Expand Down

0 comments on commit d835fa4

Please sign in to comment.