Skip to contentSkip to conversation

pwm: fix device reference leak

PATCH Applied Johan Hovold 2 participants 3 messages Nov 1, 2016 – Nov 29, 2016 PWM

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 pwm: fix device reference leak

Make sure to drop the reference to the parent device taken by class_find_device() after "unexporting" any children when deregistering a pwm chip.

Fixes 0733424c9ba9 ("pwm: Unexport children before chip removal")
---
 drivers/pwm/sysfs.c | 2 ++
 1 file changed, 2 insertions(+)
drivers/pwm/sysfs.c +2 -0
index 0296d8178ae2..a813239300c3 100644
@@ -425,6 +425,8 @@ void pwmchip_sysfs_unexport_children(struct pwm_chip *chip)
 		if (test_bit(PWMF_EXPORTED, &pwm->flags))
 			pwm_unexport_child(parent, pwm);
 	}
+
+	put_device(parent);
 }
 
 static int __init pwm_sysfs_init(void)
Signature · 1 line
2.7.3
#1 lore raw
Quoted 15 lines · Johan Hovold

Make sure to drop the reference to the parent device taken by class_find_device() after "unexporting" any children when deregistering a pwm chip.

Fixes 0733424c9ba9 ("pwm: Unexport children before chip removal")
---
 drivers/pwm/sysfs.c | 2 ++
 1 file changed, 2 insertions(+)
drivers/pwm/sysfs.c +0 -0
index 0296d8178ae2..a813239300c3 100644

drivers/pwm/sysfs.c void pwmchip_sysfs_unexport_children(struct pwm_chip *chip) · line 432

Quoted 8 lines
drivers/pwm/sysfs.c +2 -0
@@ -425,6 +425,8 @@ void pwmchip_sysfs_unexport_children(struct pwm_chip *chip)
 		if (test_bit(PWMF_EXPORTED, &pwm->flags))
 			pwm_unexport_child(parent, pwm);
 	}
+
+	put_device(parent);
 }
 
 static int __init pwm_sysfs_init(void)

Thought I'd send a gentle reminder about this one. Is it still in your queue, Thierry?

Thanks,
Johan

#2 lore raw
In reply to Johan Hovold
Quoted 9 lines · Johan Hovold

Make sure to drop the reference to the parent device taken by class_find_device() after "unexporting" any children when deregistering a pwm chip.

Fixes 0733424c9ba9 ("pwm: Unexport children before chip removal")
---
 drivers/pwm/sysfs.c | 2 ++
 1 file changed, 2 insertions(+)

Applied, thanks.

Thierry