Skip to contentSkip to conversation

lightnvm: pblk-gc: fix an error pointer dereference in init

PATCH In review Dan Carpenter 2 participants 2 messages Apr 13, 2017

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

PATCH 1/1 lightnvm: pblk-gc: fix an error pointer dereference in init

These labels are reversed so we could end up dereferencing an error pointer or leaking.

Fixes 7f347ba6bb3a ("lightnvm: physical block device (pblk) target")
drivers/lightnvm/pblk-gc.c +2 -2
index 9b147cfd8a41..f173fd4ea947 100644
@@ -527,10 +527,10 @@ int pblk_gc_init(struct pblk *pblk)
 
 	return 0;
 
-fail_free_main_kthread:
-	kthread_stop(gc->gc_ts);
 fail_free_writer_kthread:
 	kthread_stop(gc->gc_writer_ts);
+fail_free_main_kthread:
+	kthread_stop(gc->gc_ts);
 
 	return ret;
 }
#1 lore raw
Quoted 14 lines · Dan Carpenter

These labels are reversed so we could end up dereferencing an error pointer or leaking.

Fixes 7f347ba6bb3a ("lightnvm: physical block device (pblk) target")
drivers/lightnvm/pblk-gc.c +0 -0
index 9b147cfd8a41..f173fd4ea947 100644
@@ -527,10 +527,10 @@ int pblk_gc_init(struct pblk *pblk)
 
 	return 0;

drivers/lightnvm/pblk-gc.c int pblk_gc_init(struct pblk *pblk) · line 536

Quoted 10 lines
drivers/lightnvm/pblk-gc.c +2 -2
 
-fail_free_main_kthread:
-	kthread_stop(gc->gc_ts);
 fail_free_writer_kthread:
 	kthread_stop(gc->gc_writer_ts);
+fail_free_main_kthread:
+	kthread_stop(gc->gc_ts);
 
 	return ret;
 }

Thanks Dan. I've applied it for 4.12.