diff options
author | Jens Axboe <axboe@kernel.dk> | 2023-09-01 13:59:19 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-09-01 15:08:29 -0600 |
commit | 32f5dea040ee6e3cc30ac52d23f1674fd5110d03 (patch) | |
tree | d3b91948c90923dfd6b74e6ce3b4e8789378723c | |
parent | b484a40dc1f16edb58e5430105a021e1916e6f27 (diff) | |
download | lwn-32f5dea040ee6e3cc30ac52d23f1674fd5110d03.tar.gz lwn-32f5dea040ee6e3cc30ac52d23f1674fd5110d03.zip |
io_uring/fdinfo: only print ->sq_array[] if it's there
If a ring is setup with IORING_SETUP_NO_SQARRAY, then we don't have
the SQ array. Don't try to dump info from it through fdinfo if that
is the case.
Reported-by: syzbot+216e2ea6e0bf4a0acdd7@syzkaller.appspotmail.com
Fixes: 2af89abda7d9 ("io_uring: add option to remove SQ indirection")
Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | io_uring/fdinfo.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/io_uring/fdinfo.c b/io_uring/fdinfo.c index 300455b4bc12..c53678875416 100644 --- a/io_uring/fdinfo.c +++ b/io_uring/fdinfo.c @@ -93,6 +93,8 @@ __cold void io_uring_show_fdinfo(struct seq_file *m, struct file *f) struct io_uring_sqe *sqe; unsigned int sq_idx; + if (ctx->flags & IORING_SETUP_NO_SQARRAY) + break; sq_idx = READ_ONCE(ctx->sq_array[entry & sq_mask]); if (sq_idx > sq_mask) continue; |