Re: [PATCH] ALSA: control led: fix memory leak in snd_ctl_led_register

From: Dan Carpenter
Date: Mon May 31 2021 - 00:37:41 EST


On Sat, May 29, 2021 at 05:35:22AM +0800, 慕冬亮 wrote:
> > diff --git a/sound/core/control_led.c b/sound/core/control_led.c
> > index 25f57c14f294..dd357abc1b58 100644
> > --- a/sound/core/control_led.c
> > +++ b/sound/core/control_led.c
> > @@ -740,6 +740,7 @@ static int __init snd_ctl_led_init(void)
> > for (; group > 0; group--) {
> > led = &snd_ctl_leds[group - 1];
> > device_del(&led->dev);
> > + device_put(&led->dev);
> > }
> > device_del(&snd_ctl_led_dev);
> > return -ENOMEM;
> > @@ -768,6 +769,7 @@ static void __exit snd_ctl_led_exit(void)
> > for (group = 0; group < MAX_LED; group++) {
> > led = &snd_ctl_leds[group];
> > device_del(&led->dev);
> > + device_put(&led->dev);
> > }
> > device_del(&snd_ctl_led_dev);
> > snd_ctl_led_clean(NULL);
>
> Does this patch mean I should add device_put in the init and exit
> function other than snd_ctl_led_sysfs_remove? This will cause
> device_release bypass the release method checking?

Please fix your email client to line wrap your emails.

I'm not sure what release method checking you're refering to.

regards,
dan carpenter