media: em28xx: Fix possible memory leak of em28xx struct
Subsystems (2)
PATCH v2 1/1 media: em28xx: Fix possible memory leak of em28xx struct
The em28xx struct kref isn't being decreased after an error in the em28xx_ir_init, leading to a possible memory leak.
A kref_put and em28xx_shutdown_buttons is added to the error handler code.
--- drivers/media/usb/em28xx/em28xx-input.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
drivers/media/usb/em28xx/em28xx-input.c +6 -2
@@ -720,7 +720,8 @@ static int em28xx_ir_init(struct em28xx *dev) dev->board.has_ir_i2c =0 ;dev_warn (&dev->intf->dev,"No i2c IR remote control device found.\n" ); -return -ENODEV ; + err = -ENODEV ; + goto ref_put; } }
@@ -735,7 +736,7 @@ static int em28xx_ir_init(struct em28xx *dev) ir =kzalloc (sizeof (*ir),GFP_KERNEL );if (!ir) -return -ENOMEM ; + goto ref_put; rc =rc_allocate_device (RC_DRIVER_SCANCODE );if (!rc) goto error;
@@ -839,6 +840,9 @@ static int em28xx_ir_init(struct em28xx *dev) dev->ir =NULL ;rc_free_device (rc);kfree (ir); +ref_put: +em28xx_shutdown_buttons (dev); +kref_put (&dev->ref, em28xx_free_device);return err; }
Signature · 1 line
2.20.1
Quoted 7 lines · Igor Matheus Andrade Torrente
The em28xx struct kref isn't being decreased after an error in the
em28xx_ir_init, leading to a possible memory leak.A
kref_putandem28xx_shutdown_buttonsis added to the error handler code.Signed-off-by Igor Matheus Andrade Torrente <[email protected]>---
Hi Igor,
Please look at Hans's response and comments to your v1 patch. v4l core addresses the lifetime issues now and this driver could be updated to use them instead if fixing the problems in this driver's resource lifetime mgmt code.
Please follow his review comments to address the issue based on his suggestions.
thanks,
-- Shuah
Quoted 9 lines · Shuah Khan
Quoted 7 lines · Igor Matheus Andrade Torrente
The em28xx struct kref isn't being decreased after an error in the
em28xx_ir_init, leading to a possible memory leak.A
kref_putandem28xx_shutdown_buttonsis added to the error handler code.Signed-off-by Igor Matheus Andrade Torrente <[email protected]>---
Quoted 6 lines
Hi Igor,
Please look at Hans's response and comments to your v1 patch. v4l core addresses the lifetime issues now and this driver could be updated to use them instead if fixing the problems in this driver's resource lifetime mgmt code.
Actually, this patch is fine (I think, still need to review it). This is related to the input part, not v4l2.
Regards,
Hans
Quoted 7 lines
Please follow his review comments to address the issue based on his suggestions.
thanks,
-- Shuah