summaryrefslogtreecommitdiff
path: root/kernel/workqueue.c
diff options
context:
space:
mode:
authorArvind Yadav <arvind.yadav.cs@gmail.com>2018-03-06 15:35:43 +0530
committerTejun Heo <tj@kernel.org>2018-03-13 13:26:03 -0700
commit537f4146c53c95aac977852b371bafb9c6755ee1 (patch)
treeb9efb4fd1da5c35febeef6dd3f9e21ac824d810e /kernel/workqueue.c
parentfc6eabbbf8ef99efed778dd5afabc83c21dba585 (diff)
downloadlwn-537f4146c53c95aac977852b371bafb9c6755ee1.tar.gz
lwn-537f4146c53c95aac977852b371bafb9c6755ee1.zip
workqueue: use put_device() instead of kfree()
Never directly free @dev after calling device_register(), even if it returned an error! Always use put_device() to give up the reference initialized in this function instead. Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r--kernel/workqueue.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index bb9a519cbf50..ccd1080dd6e7 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -5337,7 +5337,7 @@ int workqueue_sysfs_register(struct workqueue_struct *wq)
ret = device_register(&wq_dev->dev);
if (ret) {
- kfree(wq_dev);
+ put_device(&wq_dev->dev);
wq->wq_dev = NULL;
return ret;
}