Skip to contentSkip to conversation

PM / sleep: fix device reference leak in test_suspend

PATCH In review Johan Hovold 2 participants 2 messages Nov 1, 2016 – Nov 2, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 PM / sleep: fix device reference leak in test_suspend

Make sure to drop the reference taken by class_find_device() after opening the rtc device.

Fixes 77437fd4e61f ("pm: boot time suspend selftest")
---
 kernel/power/suspend_test.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
kernel/power/suspend_test.c +3 -1
index 084452e34a12..bdff5ed57f10 100644
@@ -203,8 +203,10 @@ static int __init test_suspend(void)
 
 	/* RTCs have initialized by now too ... can we use one? */
 	dev = class_find_device(rtc_class, NULL, NULL, has_wakealarm);
-	if (dev)
+	if (dev) {
 		rtc = rtc_class_open(dev_name(dev));
+		put_device(dev);
+	}
 	if (!rtc) {
 		printk(warn_no_rtc);
 		return 0;
Signature · 1 line
2.7.3
Acked-by on v1 1/1
#1 lore raw
Quoted 5 lines · Johan Hovold

Make sure to drop the reference taken by class_find_device() after opening the rtc device.

Fixes 77437fd4e61f ("pm: boot time suspend selftest")
Quoted 20 lines
---
 kernel/power/suspend_test.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
kernel/power/suspend_test.c +3 -1
index 084452e34a12..bdff5ed57f10 100644
@@ -203,8 +203,10 @@ static int __init test_suspend(void)
 
 	/* RTCs have initialized by now too ... can we use one? */
 	dev = class_find_device(rtc_class, NULL, NULL, has_wakealarm);
-	if (dev)
+	if (dev) {
 		rtc = rtc_class_open(dev_name(dev));
+		put_device(dev);
+	}
 	if (!rtc) {
 		printk(warn_no_rtc);
 		return 0;
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html