[syzbot] memory leak in io_submit_sqes (4)

12 views
Skip to first unread message

syzbot

unread,
Jan 9, 2023, 1:03:45ā€ÆAM1/9/23
to 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: 0a71553536d2 Merge tag 'drm-fixes-2023-01-06' of git://ano..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=164951c2480000
kernel config: https://syzkaller.appspot.com/x/.config?x=5ddca4921a53cff2
dashboard link: https://syzkaller.appspot.com/bug?extid=6c95df01470a47fc3af4
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12929d9a480000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=105ffae2480000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/ad52353dc15f/disk-0a715535.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/90927b7e9870/vmlinux-0a715535.xz
kernel image: https://storage.googleapis.com/syzbot-assets/553a64766dcc/bzImage-0a715535.xz

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

executing program
executing program
executing program
executing program
executing program
BUG: memory leak
unreferenced object 0xffff88810de89200 (size 256):
comm "syz-executor286", pid 5100, jiffies 4294952261 (age 14.130s)
hex dump (first 32 bytes):
00 8f 90 0a 81 88 ff ff 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 .........@......
backtrace:
[<ffffffff84769af3>] __io_alloc_req_refill+0x55/0x193 io_uring/io_uring.c:1040
[<ffffffff8476b084>] io_alloc_req_refill io_uring/io_uring.h:378 [inline]
[<ffffffff8476b084>] io_submit_sqes.cold+0x65/0x8a io_uring/io_uring.c:2384
[<ffffffff823986bd>] __do_sys_io_uring_enter+0x76d/0x1490 io_uring/io_uring.c:3345
[<ffffffff848ef735>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff848ef735>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84a00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

BUG: memory leak
unreferenced object 0xffff888109cac600 (size 96):
comm "syz-executor286", pid 5100, jiffies 4294952261 (age 14.130s)
hex dump (first 32 bytes):
00 8f 90 0a 81 88 ff ff 00 00 00 00 00 00 00 00 ................
7b 20 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 { ..............
backtrace:
[<ffffffff814f94a0>] kmalloc_trace+0x20/0x90 mm/slab_common.c:1062
[<ffffffff823a702c>] kmalloc include/linux/slab.h:580 [inline]
[<ffffffff823a702c>] io_req_alloc_apoll io_uring/poll.c:650 [inline]
[<ffffffff823a702c>] io_arm_poll_handler+0x1fc/0x470 io_uring/poll.c:694
[<ffffffff82395e4d>] io_queue_async+0x8d/0x2e0 io_uring/io_uring.c:2006
[<ffffffff82397b98>] io_queue_sqe io_uring/io_uring.c:2037 [inline]
[<ffffffff82397b98>] io_submit_sqe io_uring/io_uring.c:2286 [inline]
[<ffffffff82397b98>] io_submit_sqes+0x968/0xb70 io_uring/io_uring.c:2397
[<ffffffff823986bd>] __do_sys_io_uring_enter+0x76d/0x1490 io_uring/io_uring.c:3345
[<ffffffff848ef735>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff848ef735>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84a00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

BUG: memory leak
unreferenced object 0xffff88810a72bb00 (size 256):
comm "syz-executor286", pid 5100, jiffies 4294952261 (age 14.130s)
hex dump (first 32 bytes):
00 8f 90 0a 81 88 ff ff 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 .........@......
backtrace:
[<ffffffff84769af3>] __io_alloc_req_refill+0x55/0x193 io_uring/io_uring.c:1040
[<ffffffff8476b084>] io_alloc_req_refill io_uring/io_uring.h:378 [inline]
[<ffffffff8476b084>] io_submit_sqes.cold+0x65/0x8a io_uring/io_uring.c:2384
[<ffffffff823986bd>] __do_sys_io_uring_enter+0x76d/0x1490 io_uring/io_uring.c:3345
[<ffffffff848ef735>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff848ef735>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84a00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

BUG: memory leak
unreferenced object 0xffff88810f18f600 (size 96):
comm "syz-executor286", pid 5100, jiffies 4294952261 (age 14.130s)
hex dump (first 32 bytes):
00 8f 90 0a 81 88 ff ff 00 00 00 00 00 00 00 00 ................
7b 20 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 { ..............
backtrace:
[<ffffffff814f94a0>] kmalloc_trace+0x20/0x90 mm/slab_common.c:1062
[<ffffffff823a702c>] kmalloc include/linux/slab.h:580 [inline]
[<ffffffff823a702c>] io_req_alloc_apoll io_uring/poll.c:650 [inline]
[<ffffffff823a702c>] io_arm_poll_handler+0x1fc/0x470 io_uring/poll.c:694
[<ffffffff82395e4d>] io_queue_async+0x8d/0x2e0 io_uring/io_uring.c:2006
[<ffffffff82397b98>] io_queue_sqe io_uring/io_uring.c:2037 [inline]
[<ffffffff82397b98>] io_submit_sqe io_uring/io_uring.c:2286 [inline]
[<ffffffff82397b98>] io_submit_sqes+0x968/0xb70 io_uring/io_uring.c:2397
[<ffffffff823986bd>] __do_sys_io_uring_enter+0x76d/0x1490 io_uring/io_uring.c:3345
[<ffffffff848ef735>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff848ef735>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84a00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd



---
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.
syzbot can test patches for this issue, for details see:
https://goo.gl/tpsmEJ#testing-patches

Pavel Begunkov

unread,
Jan 9, 2023, 8:10:27ā€ÆAM1/9/23
to syzbot, ax...@kernel.dk, io-u...@vger.kernel.org, linux-...@vger.kernel.org, syzkall...@googlegroups.com
On 1/9/23 06:03, syzbot wrote:
> Hello,
>
> syzbot found the following issue on:

#syz test: git://git.kernel.dk/linux.git syztest
--
Pavel Begunkov

syzbot

unread,
Jan 9, 2023, 2:10:19ā€ÆPM1/9/23
to asml.s...@gmail.com, ax...@kernel.dk, io-u...@vger.kernel.org, linux-...@vger.kernel.org, syzkall...@googlegroups.com
Hello,

syzbot has tested the proposed patch but the reproducer is still triggering an issue:
memory leak in io_submit_sqes

BUG: memory leak
unreferenced object 0xffff888113562900 (size 256):
comm "syz-executor.0", pid 5682, jiffies 4294944681 (age 14.960s)
hex dump (first 32 bytes):
00 9f 50 13 81 88 ff ff 00 00 00 00 00 00 00 00 ..P.............
00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 .........@......
backtrace:
[<ffffffff8476aaf4>] __io_alloc_req_refill+0x55/0x193 io_uring/io_uring.c:1040
[<ffffffff8476c085>] io_alloc_req_refill io_uring/io_uring.h:378 [inline]
[<ffffffff8476c085>] io_submit_sqes.cold+0x65/0x8a io_uring/io_uring.c:2384
[<ffffffff82398a3d>] __do_sys_io_uring_enter+0x76d/0x1490 io_uring/io_uring.c:3345
[<ffffffff848f0745>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff848f0745>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84a00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

BUG: memory leak
unreferenced object 0xffff88810522d080 (size 96):
comm "syz-executor.0", pid 5682, jiffies 4294944681 (age 14.960s)
hex dump (first 32 bytes):
00 9f 50 13 81 88 ff ff 00 00 00 00 00 00 00 00 ..P.............
7b 20 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 { ..............
backtrace:
[<ffffffff814f94a0>] kmalloc_trace+0x20/0x90 mm/slab_common.c:1062
[<ffffffff823a73ac>] kmalloc include/linux/slab.h:580 [inline]
[<ffffffff823a73ac>] io_req_alloc_apoll io_uring/poll.c:650 [inline]
[<ffffffff823a73ac>] io_arm_poll_handler+0x1fc/0x470 io_uring/poll.c:694
[<ffffffff823961cd>] io_queue_async+0x8d/0x2e0 io_uring/io_uring.c:2006
[<ffffffff82397f18>] io_queue_sqe io_uring/io_uring.c:2037 [inline]
[<ffffffff82397f18>] io_submit_sqe io_uring/io_uring.c:2286 [inline]
[<ffffffff82397f18>] io_submit_sqes+0x968/0xb70 io_uring/io_uring.c:2397
[<ffffffff82398a3d>] __do_sys_io_uring_enter+0x76d/0x1490 io_uring/io_uring.c:3345
[<ffffffff848f0745>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff848f0745>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84a00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

BUG: memory leak
unreferenced object 0xffff888113564f00 (size 256):
comm "syz-executor.0", pid 5682, jiffies 4294944681 (age 14.960s)
hex dump (first 32 bytes):
00 9f 50 13 81 88 ff ff 00 00 00 00 00 00 00 00 ..P.............
00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 .........@......
backtrace:
[<ffffffff8476aaf4>] __io_alloc_req_refill+0x55/0x193 io_uring/io_uring.c:1040
[<ffffffff8476c085>] io_alloc_req_refill io_uring/io_uring.h:378 [inline]
[<ffffffff8476c085>] io_submit_sqes.cold+0x65/0x8a io_uring/io_uring.c:2384
[<ffffffff82398a3d>] __do_sys_io_uring_enter+0x76d/0x1490 io_uring/io_uring.c:3345
[<ffffffff848f0745>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff848f0745>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84a00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

BUG: memory leak
unreferenced object 0xffff88810522dc00 (size 96):
comm "syz-executor.0", pid 5682, jiffies 4294944681 (age 14.960s)
hex dump (first 32 bytes):
00 9f 50 13 81 88 ff ff 00 00 00 00 00 00 00 00 ..P.............
7b 20 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 { ..............
backtrace:
[<ffffffff814f94a0>] kmalloc_trace+0x20/0x90 mm/slab_common.c:1062
[<ffffffff823a73ac>] kmalloc include/linux/slab.h:580 [inline]
[<ffffffff823a73ac>] io_req_alloc_apoll io_uring/poll.c:650 [inline]
[<ffffffff823a73ac>] io_arm_poll_handler+0x1fc/0x470 io_uring/poll.c:694
[<ffffffff823961cd>] io_queue_async+0x8d/0x2e0 io_uring/io_uring.c:2006
[<ffffffff82397f18>] io_queue_sqe io_uring/io_uring.c:2037 [inline]
[<ffffffff82397f18>] io_submit_sqe io_uring/io_uring.c:2286 [inline]
[<ffffffff82397f18>] io_submit_sqes+0x968/0xb70 io_uring/io_uring.c:2397
[<ffffffff82398a3d>] __do_sys_io_uring_enter+0x76d/0x1490 io_uring/io_uring.c:3345
[<ffffffff848f0745>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff848f0745>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84a00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

BUG: memory leak
unreferenced object 0xffff8881135a7600 (size 256):
comm "syz-executor.0", pid 5682, jiffies 4294944681 (age 14.960s)
hex dump (first 32 bytes):
00 9f 50 13 81 88 ff ff 00 00 00 00 00 00 00 00 ..P.............
00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 .........@......
backtrace:
[<ffffffff8476aaf4>] __io_alloc_req_refill+0x55/0x193 io_uring/io_uring.c:1040
[<ffffffff8476c085>] io_alloc_req_refill io_uring/io_uring.h:378 [inline]
[<ffffffff8476c085>] io_submit_sqes.cold+0x65/0x8a io_uring/io_uring.c:2384
[<ffffffff82398a3d>] __do_sys_io_uring_enter+0x76d/0x1490 io_uring/io_uring.c:3345
[<ffffffff848f0745>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff848f0745>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84a00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

BUG: memory leak
unreferenced object 0xffff888109a6d900 (size 96):
comm "syz-executor.0", pid 5682, jiffies 4294944681 (age 14.960s)
hex dump (first 32 bytes):
00 9f 50 13 81 88 ff ff 00 00 00 00 00 00 00 00 ..P.............
7b 20 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 { ..............
backtrace:
[<ffffffff814f94a0>] kmalloc_trace+0x20/0x90 mm/slab_common.c:1062
[<ffffffff823a73ac>] kmalloc include/linux/slab.h:580 [inline]
[<ffffffff823a73ac>] io_req_alloc_apoll io_uring/poll.c:650 [inline]
[<ffffffff823a73ac>] io_arm_poll_handler+0x1fc/0x470 io_uring/poll.c:694
[<ffffffff823961cd>] io_queue_async+0x8d/0x2e0 io_uring/io_uring.c:2006
[<ffffffff82397f18>] io_queue_sqe io_uring/io_uring.c:2037 [inline]
[<ffffffff82397f18>] io_submit_sqe io_uring/io_uring.c:2286 [inline]
[<ffffffff82397f18>] io_submit_sqes+0x968/0xb70 io_uring/io_uring.c:2397
[<ffffffff82398a3d>] __do_sys_io_uring_enter+0x76d/0x1490 io_uring/io_uring.c:3345
[<ffffffff848f0745>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff848f0745>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84a00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd



Tested on:

commit: a4b98579 Merge branch 'io_uring-6.2' into syztest
git tree: git://git.kernel.dk/linux.git syztest
console output: https://syzkaller.appspot.com/x/log.txt?x=1560579a480000
kernel config: https://syzkaller.appspot.com/x/.config?x=72a4287b7f412c8a
dashboard link: https://syzkaller.appspot.com/bug?extid=6c95df01470a47fc3af4
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2

Note: no patches were applied.

Jens Axboe

unread,
Jan 9, 2023, 4:51:03ā€ÆPM1/9/23
to syzbot, asml.s...@gmail.com, io-u...@vger.kernel.org, linux-...@vger.kernel.org, syzkall...@googlegroups.com
#syz test: git://git.kernel.dk/linux.git syztest

--
Jens Axboe


syzbot

unread,
Jan 9, 2023, 5:12:23ā€ÆPM1/9/23
to asml.s...@gmail.com, ax...@kernel.dk, io-u...@vger.kernel.org, linux-...@vger.kernel.org, syzkall...@googlegroups.com
Hello,

syzbot has tested the proposed patch and the reproducer did not trigger any issue:

Reported-and-tested-by: syzbot+6c95df...@syzkaller.appspotmail.com

Tested on:

commit: 0af4af97 io_uring/poll: add hash if ready poll request..
git tree: git://git.kernel.dk/linux.git syztest
console output: https://syzkaller.appspot.com/x/log.txt?x=1105391c480000
kernel config: https://syzkaller.appspot.com/x/.config?x=72a4287b7f412c8a
dashboard link: https://syzkaller.appspot.com/bug?extid=6c95df01470a47fc3af4
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2

Note: no patches were applied.
Note: testing is done by a robot and is best-effort only.
Reply all
Reply to author
Forward
0 new messages