aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/cdns3/cdns3-imx.c
diff options
context:
space:
mode:
authorPavel Begunkov <asml.silence@gmail.com>2020-10-19 16:39:16 +0100
committerJens Axboe <axboe@kernel.dk>2020-10-19 13:29:51 -0600
commit900fad45dc75c8af6015bc514cc11aa3d265426a (patch)
tree97991353a10ad1d323746b75bdc91df9fbabf161 /drivers/usb/cdns3/cdns3-imx.c
parentio_uring: do poll's hash_node init in common code (diff)
downloadlinux-dev-900fad45dc75c8af6015bc514cc11aa3d265426a.tar.xz
linux-dev-900fad45dc75c8af6015bc514cc11aa3d265426a.zip
io_uring: fix racy REQ_F_LINK_TIMEOUT clearing
io_link_timeout_fn() removes REQ_F_LINK_TIMEOUT from the link head's flags, it's not atomic and may race with what the head is doing. If io_link_timeout_fn() doesn't clear the flag, as forced by this patch, then it may happen that for "req -> link_timeout1 -> link_timeout2", __io_kill_linked_timeout() would find link_timeout2 and try to cancel it, so miscounting references. Teach it to ignore such double timeouts by marking the active one with a new flag in io_prep_linked_timeout(). Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/usb/cdns3/cdns3-imx.c')
0 files changed, 0 insertions, 0 deletions