diff options
author | Xie Yongji <xieyongji@bytedance.com> | 2021-08-13 23:13:30 +0800 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-08-13 09:46:48 -0600 |
commit | cddce01160582a5f52ada3da9626c052d852ec42 (patch) | |
tree | e7615b6f592123a288f26ad9e64dd7381bafaf30 /block | |
parent | 454bb6775202d94f0f489c4632efecdb62d3c904 (diff) | |
download | linux-cddce01160582a5f52ada3da9626c052d852ec42.tar.bz2 |
nbd: Aovid double completion of a request
There is a race between iterating over requests in
nbd_clear_que() and completing requests in recv_work(),
which can lead to double completion of a request.
To fix it, flush the recv worker before iterating over
the requests and don't abort the completed request
while iterating.
Fixes: 96d97e17828f ("nbd: clear_sock on netlink disconnect")
Reported-by: Jiang Yadong <jiangyadong@bytedance.com>
Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Link: https://lore.kernel.org/r/20210813151330.96-1-xieyongji@bytedance.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions