[syzbot] WARNING in io_try_cancel_userdata

已查看 9 次
跳至第一个未读帖子

syzbot

未读,
2021年8月23日 05:17:192021/8/23
收件人 asml.s...@gmail.com、ax...@kernel.dk、io-u...@vger.kernel.org、linux-...@vger.kernel.org、syzkall...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 86ed57fd8c93 Add linux-next specific files for 20210820
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=1565bd55300000
kernel config: https://syzkaller.appspot.com/x/.config?x=f64eccb415bd479d
dashboard link: https://syzkaller.appspot.com/bug?extid=b0c9d1588ae92866515f
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.1

Unfortunately, I don't have any reproducer for this issue yet.

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b0c9d1...@syzkaller.appspotmail.com

WARNING: CPU: 1 PID: 5870 at fs/io_uring.c:5975 io_try_cancel_userdata+0x30f/0x540 fs/io_uring.c:5975
Modules linked in:
CPU: 0 PID: 5870 Comm: iou-wrk-5860 Not tainted 5.14.0-rc6-next-20210820-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:io_try_cancel_userdata+0x30f/0x540 fs/io_uring.c:5975
Code: 07 e8 e5 9d 95 ff 48 8b 7c 24 08 e8 ab 02 58 07 e9 6f fe ff ff e8 d1 9d 95 ff 41 bf 8e ff ff ff e9 5f fe ff ff e8 c1 9d 95 ff <0f> 0b 48 b8 00 00 00 00 00 fc ff df 4c 89 fa 48 c1 ea 03 80 3c 02
RSP: 0018:ffffc900055f7a88 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff888181aa83c0 RCX: 0000000000000000
RDX: ffff88803fb88000 RSI: ffffffff81e0dacf RDI: ffff888181aa8410
RBP: ffff88803fb88000 R08: ffffffff899ad660 R09: ffffffff81e23c44
R10: 0000000000000027 R11: 000000000000000e R12: 1ffff92000abef53
R13: 0000000000000000 R14: ffff8880b34d0000 R15: ffff888181aa8420
FS: 00007f7a08d50700(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b2c72e000 CR3: 0000000168b9b000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600
Call Trace:
io_async_cancel fs/io_uring.c:6014 [inline]
io_issue_sqe+0x22d5/0x65a0 fs/io_uring.c:6407
io_wq_submit_work+0x1dc/0x300 fs/io_uring.c:6511
io_worker_handle_work+0xa45/0x1840 fs/io-wq.c:533
io_wqe_worker+0x2cc/0xbb0 fs/io-wq.c:582
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

Hillf Danton

未读,
2021年8月23日 07:23:452021/8/23
收件人 syzbot、asml.s...@gmail.com、ax...@kernel.dk、io-u...@vger.kernel.org、linux-...@vger.kernel.org、syzkall...@googlegroups.com
On Mon, 23 Aug 2021 02:17:18 -0700
Add work->task to avoid checking io worker against req submitter.

Only for thoughts now.

+++ y/fs/io-wq.c
@@ -530,6 +530,7 @@ get_next:

if (unlikely(do_kill) && (work->flags & IO_WQ_WORK_UNBOUND))
work->flags |= IO_WQ_WORK_CANCEL;
+ work->task = wq->task;
wq->do_work(work);
io_assign_current_work(worker, NULL);

+++ y/fs/io_uring.c
@@ -6079,7 +6079,8 @@ static int io_try_cancel_userdata(struct
struct io_ring_ctx *ctx = req->ctx;
int ret;

- WARN_ON_ONCE(req->task != current);
+ WARN_ON_ONCE(req->task != current &&
+ req->task != req->work.task);

ret = io_async_cancel_one(req->task->io_uring, sqe_addr, ctx);
if (ret != -ENOENT)

Pavel Begunkov

未读,
2021年8月23日 07:36:392021/8/23
收件人 syzbot、ax...@kernel.dk、io-u...@vger.kernel.org、linux-...@vger.kernel.org、syzkall...@googlegroups.com
On 8/23/21 10:17 AM, syzbot wrote:
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: 86ed57fd8c93 Add linux-next specific files for 20210820
> git tree: linux-next
> console output: https://syzkaller.appspot.com/x/log.txt?x=1565bd55300000
> kernel config: https://syzkaller.appspot.com/x/.config?x=f64eccb415bd479d
> dashboard link: https://syzkaller.appspot.com/bug?extid=b0c9d1588ae92866515f
> compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.1
>
> Unfortunately, I don't have any reproducer for this issue yet.
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+b0c9d1...@syzkaller.appspotmail.com

false positive, will delete the warning with explanation

p.s. easily reproducible, we'll add a test covering cancel from io-wq
--
Pavel Begunkov

Pavel Begunkov

未读,
2021年8月23日 08:33:422021/8/23
收件人 syzbot、ax...@kernel.dk、io-u...@vger.kernel.org、linux-...@vger.kernel.org、syzkall...@googlegroups.com
On 8/23/21 12:36 PM, Pavel Begunkov wrote:
> On 8/23/21 10:17 AM, syzbot wrote:
>> Hello,
>>
>> syzbot found the following issue on:
>>
>> HEAD commit: 86ed57fd8c93 Add linux-next specific files for 20210820
>> git tree: linux-next
>> console output: https://syzkaller.appspot.com/x/log.txt?x=1565bd55300000
>> kernel config: https://syzkaller.appspot.com/x/.config?x=f64eccb415bd479d
>> dashboard link: https://syzkaller.appspot.com/bug?extid=b0c9d1588ae92866515f
>> compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.1
>>
>> Unfortunately, I don't have any reproducer for this issue yet.
>>
>> IMPORTANT: if you fix the issue, please add the following tag to the commit:
>> Reported-by: syzbot+b0c9d1...@syzkaller.appspotmail.com
>
> false positive, will delete the warning with explanation

There is a legit race though, a fix is sent.

syzbot

未读,
2021年8月23日 18:14:262021/8/23
收件人 asml.s...@gmail.com、ax...@kernel.dk、hda...@sina.com、io-u...@vger.kernel.org、linux-...@vger.kernel.org、syzkall...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 46debfec12b4 Add linux-next specific files for 20210823
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=12f00c39300000
kernel config: https://syzkaller.appspot.com/x/.config?x=49609005dc034be7
dashboard link: https://syzkaller.appspot.com/bug?extid=b0c9d1588ae92866515f
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.1
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=15830bee300000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b0c9d1...@syzkaller.appspotmail.com

------------[ cut here ]------------
WARNING: CPU: 0 PID: 7008 at fs/io_uring.c:6082 io_try_cancel_userdata+0x30d/0x540 fs/io_uring.c:6082
Modules linked in:
CPU: 0 PID: 7008 Comm: iou-wrk-7007 Not tainted 5.14.0-rc7-next-20210823-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:io_try_cancel_userdata+0x30d/0x540 fs/io_uring.c:6082
Code: 52 07 e8 66 67 95 ff 48 8b 3c 24 e8 ad 67 52 07 e9 71 fe ff ff e8 53 67 95 ff 41 bf 8e ff ff ff e9 61 fe ff ff e8 43 67 95 ff <0f> 0b 48 b8 00 00 00 00 00 fc ff df 4c 89 fa 48 c1 ea 03 80 3c 02
RSP: 0018:ffffc90003fefac0 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff88801d064c80 RCX: 0000000000000000
RDX: ffff88801ea75580 RSI: ffffffff81e078fd RDI: ffff88801d064cd0
RBP: ffff88801ea75580 R08: ffffffff899adde0 R09: ffffffff81e1e4e4
R10: 0000000000000027 R11: 000000000000000e R12: 1ffff920007fdf59
R13: 0000000000012345 R14: ffff888146628000 R15: ffff88801d064ce0
FS: 00007f0c5b7d6700(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffc3bfd8720 CR3: 0000000070d9c000 CR4: 00000000001506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
io_async_cancel fs/io_uring.c:6122 [inline]
io_issue_sqe+0x22d5/0x67b0 fs/io_uring.c:6515
io_wq_submit_work+0x1d4/0x300 fs/io_uring.c:6619
io_worker_handle_work+0x1584/0x1810 fs/io-wq.c:533
io_wqe_worker+0x9cd/0xbb0 fs/io-wq.c:606
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295

回复全部
回复作者
转发
0 个新帖子