On Thu, May 28, 2020 at 5:57 PM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > > Guys, the patch is wrong. The kfree is harmless when this is called > from destroy_workqueue() and required when it's called from > pwq_unbound_release_workfn(). Lai Jiangshan already explained this > already. Why are we still discussing this? > I'm also confused why they have been debating about the changelog after the patch was queued. My statement was about "the patch is a correct cleanup, but the changelog is totally misleading". destroy_workqueue(percpu_wq) -> rcu_free_wq() or destroy_workqueue(unbound_wq) -> put_pwq() -> pwq_unbound_release_workfn() -> rcu_free_wq() So the patch is correct to me. Only can destroy_workqueue() lead to rcu_free_wq(). Still, the kfree(NULL) is harmless. But it is cleaner to have the patch. But the changelog is wrong, even after the lengthened debating, and English is not my mother tongue, so I just looked on.