• Jens Axboe's avatar
    io_uring: io_wq_submit_work() should not touch req->rw · fd6c2e4c
    Jens Axboe authored
    I've been chasing a weird and obscure crash that was userspace stack
    corruption, and finally narrowed it down to a bit flip that made a
    stack address invalid. io_wq_submit_work() unconditionally flips
    the req->rw.ki_flags IOCB_NOWAIT bit, but since it's a generic work
    handler, this isn't valid. Normal read/write operations own that
    part of the request, on other types it could be something else.
    
    Move the IOCB_NOWAIT clear to the read/write handlers where it belongs.
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    fd6c2e4c
io_uring.c 130 KB