Re: [PATCH] io-wq: fix cancellation on create-worker failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/8/21 3:09 AM, Pavel Begunkov wrote:
> WARNING: CPU: 0 PID: 10392 at fs/io_uring.c:1151 req_ref_put_and_test
> fs/io_uring.c:1151 [inline]
> WARNING: CPU: 0 PID: 10392 at fs/io_uring.c:1151 req_ref_put_and_test
> fs/io_uring.c:1146 [inline]
> WARNING: CPU: 0 PID: 10392 at fs/io_uring.c:1151
> io_req_complete_post+0xf5b/0x1190 fs/io_uring.c:1794
> Modules linked in:
> Call Trace:
>  tctx_task_work+0x1e5/0x570 fs/io_uring.c:2158
>  task_work_run+0xe0/0x1a0 kernel/task_work.c:164
>  tracehook_notify_signal include/linux/tracehook.h:212 [inline]
>  handle_signal_work kernel/entry/common.c:146 [inline]
>  exit_to_user_mode_loop kernel/entry/common.c:172 [inline]
>  exit_to_user_mode_prepare+0x232/0x2a0 kernel/entry/common.c:209
>  __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline]
>  syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:302
>  do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86
>  entry_SYSCALL_64_after_hwframe+0x44/0xae
> 
> When io_wqe_enqueue() -> io_wqe_create_worker() fails, we can't just
> call io_run_cancel() to clean up the request, it's already enqueued via
> io_wqe_insert_work() and will be executed either by some other worker
> during cancellation (e.g. in io_wq_put_and_exit()).

Oops yes, that looks better. Thanks, applied.

-- 
Jens Axboe




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux