From: Zhang Qiang <qiang.zh...@windriver.com>

The data structure member "wq->rescuer" was reset to a null pointer
in one if branch. It was passed to a call of the function "kfree"
in the callback function "rcu_free_wq" (which was eventually executed).
The function "kfree" does not perform more meaningful data processing
for a passed null pointer (besides immediately returning from such a call).
Thus delete this function call which became unnecessary with the referenced
software update.

Fixes: def98c84b6cd ("workqueue: Fix spurious sanity check failures in 
destroy_workqueue()")

Co-developed-by: Markus Elfring <markus.elfr...@web.de>
Signed-off-by: Markus Elfring <markus.elfr...@web.de>
Co-developed-by: Lai Jiangshan <jiangshan...@gmail.com>
Signed-off-by: Lai Jiangshan <jiangshan...@gmail.com>
Signed-off-by: Zhang Qiang <qiang.zh...@windriver.com>
---
 v1->v2->v3->v4->v5->v6->v7:
 Modify weakly submitted information and tag.

 kernel/workqueue.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 891ccad5f271..a2451cdcd503 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -3491,7 +3491,6 @@ static void rcu_free_wq(struct rcu_head *rcu)
        else
                free_workqueue_attrs(wq->unbound_attrs);
 
-       kfree(wq->rescuer);
        kfree(wq);
 }
 
-- 
2.24.1

Reply via email to