workqueue: Remove unnecessary kfree() call in rcu_free_wq()
authorZhang Qiang <qiang.zhang@windriver.com>
Wed, 27 May 2020 07:57:15 +0000 (15:57 +0800)
committerTejun Heo <tj@kernel.org>
Wed, 27 May 2020 13:52:41 +0000 (09:52 -0400)
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()")

Suggested-by: Markus Elfring <Markus.Elfring@web.de>
Signed-off-by: Zhang Qiang <qiang.zhang@windriver.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/workqueue.c

index 10ed8d7..7a1fc9f 100644 (file)
@@ -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);
 }