2020-05-27 10:46:40

by Zhang, Qiang

[permalink] [raw]
Subject: [PATCH v5] workqueue: Remove unnecessary kfree() call in rcu_free_wq()

From: Zhang Qiang <[email protected]>

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 <[email protected]>
Signed-off-by: Zhang Qiang <[email protected]>
---
v1->v2->v3->v4->v5:
Modify weakly submitted information.

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


2020-05-27 10:52:22

by Markus Elfring

[permalink] [raw]
Subject: Re: [PATCH v5] workqueue: Remove unnecessary kfree() call in rcu_free_wq()

> Thus delete this function call which became unnecessary with the referenced
> software update.

> Suggested-by: Markus Elfring <[email protected]>

Would the tag “Co-developed-by” be more appropriate according to the patch review
to achieve a more pleasing commit message?


> v1->v2->v3->v4->v5:
> Modify weakly submitted information.

Now I wonder about your wording choice “weakly”.

Regards,
Markus

2020-05-27 18:23:14

by Tejun Heo

[permalink] [raw]
Subject: Re: [PATCH v5] workqueue: Remove unnecessary kfree() call in rcu_free_wq()

On Wed, May 27, 2020 at 03:57:15PM +0800, [email protected] wrote:
> From: Zhang Qiang <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Zhang Qiang <[email protected]>

Applied to wq/for-5.8.

Thanks.

--
tejun