summaryrefslogtreecommitdiffstats
path: root/fs/io-wq.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2021-03-01 09:09:56 -0700
committerJens Axboe <axboe@kernel.dk>2021-03-04 06:37:59 -0700
commitdc7bbc9ef361bea331bf5258a35abcdef619d44d (patch)
tree14c95f5ff19500d2932c79af88acc52d8baefc0a /fs/io-wq.c
parent16270893d71219816513a255e6c3163bc7224ce4 (diff)
downloadlinux-dc7bbc9ef361bea331bf5258a35abcdef619d44d.tar.gz
linux-dc7bbc9ef361bea331bf5258a35abcdef619d44d.tar.bz2
linux-dc7bbc9ef361bea331bf5258a35abcdef619d44d.zip
io-wq: fix error path leak of buffered write hash map
The 'err' path should include the hash put, we already grabbed a reference once we get that far. Fixes: e941894eae31 ("io-wq: make buffered file write hashed work map per-ctx") Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/io-wq.c')
-rw-r--r--fs/io-wq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/io-wq.c b/fs/io-wq.c
index 946826beefe6..dc430381b694 100644
--- a/fs/io-wq.c
+++ b/fs/io-wq.c
@@ -1047,8 +1047,8 @@ struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data)
if (!ret)
return wq;
- io_wq_put_hash(data->hash);
err:
+ io_wq_put_hash(data->hash);
cpuhp_state_remove_instance_nocalls(io_wq_online, &wq->cpuhp_node);
for_each_node(node)
kfree(wq->wqes[node]);