• Pavel Begunkov's avatar
    io_uring: fix null-deref in io_disable_sqo_submit · b4411616
    Pavel Begunkov authored
    general protection fault, probably for non-canonical address
    	0xdffffc0000000022: 0000 [#1] KASAN: null-ptr-deref
    	in range [0x0000000000000110-0x0000000000000117]
    RIP: 0010:io_ring_set_wakeup_flag fs/io_uring.c:6929 [inline]
    RIP: 0010:io_disable_sqo_submit+0xdb/0x130 fs/io_uring.c:8891
    Call Trace:
     io_uring_create fs/io_uring.c:9711 [inline]
     io_uring_setup+0x12b1/0x38e0 fs/io_uring.c:9739
     do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    io_disable_sqo_submit() might be called before user rings were
    allocated, don't do io_ring_set_wakeup_flag() in those cases.
    
    Reported-by: syzbot+ab412638aeb652ded540@syzkaller.appspotmail.com
    Fixes: d9d05217 ("io_uring: stop SQPOLL submit on creator's death")
    Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    b4411616
io_uring.c 243 KB