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