[PATCH] Revert "kref: double kref_put() in my_data_handler()"
From: Thomas Hellstrom
Date: Mon Mar 06 2017 - 02:20:53 EST
This reverts commit 8f1ecc9fbc5b223e4f5d5bb8bcd6f5672c4bc4b6.
The correction is incorrect, see discussion at
http://stackoverflow.com/questions/20093127/why-kref-doc-of-linux-kernel-omits-kref-put-when-kthread-run-fail
Reported-by: KrishnamRaju raju <ekraju@xxxxxxxxx>
Cc: Roel Kluin <roel.kluin@xxxxxxxxx>
Cc: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
Cc: KrishnamRaju raju <ekraju@xxxxxxxxx>
Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx>
---
Documentation/kref.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/kref.txt b/Documentation/kref.txt
index ddf85a5..d26a27c 100644
--- a/Documentation/kref.txt
+++ b/Documentation/kref.txt
@@ -84,6 +84,7 @@ int my_data_handler(void)
task = kthread_run(more_data_handling, data, "more_data_handling");
if (task == ERR_PTR(-ENOMEM)) {
rv = -ENOMEM;
+ kref_put(&data->refcount, data_release);
goto out;
}
--
2.4.11