From: Jens Axboe <axboe@kernel.dk>
To: l1zao@zju.edu.cn, io-uring@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] io_uring: fix null-ptr-deref in io_uring_poll
Date: Thu, 9 Apr 2026 09:29:24 -0600 [thread overview]
Message-ID: <37b606c2-8b76-4034-9a3e-a088ec4cf546@kernel.dk> (raw)
In-Reply-To: <aae302b8-3f67-4331-8cf9-2784dcf25a91@kernel.dk>
On 4/9/26 9:28 AM, Jens Axboe wrote:
> On 4/9/26 8:55 AM, l1zao@zju.edu.cn wrote:
>> From: Haocheng Yu <l1zao@zju.edu.cn>
>>
>> A general protection fault in io_uring_poll is reported by a
>> modified Syzkaller-based kernel fuzzing tool we developed. The
>> crash occurs due to KASAN: null-ptr-deref.
>>
>> This issue is likely caused by a race condition between
>> `io_uring_register` and `poll`. Specifically, in
>> io_uring/register.c/io_register_resize_rings(), ctx->rings is
>> set to NULL. Although this step is protected by a mutex lock
>> and a spin lock, io_uring/io_uring.c/io_uring_poll() calls
>> io_sqring_full and __io_cqring_events_user without holding the
>> lock, in which ctx->rings is accessed.
>>
>> To fix this vulnerability, I moved the two function calls in
>> io_uring_poll() that might access ctx->rings under the protection
>> of spin_lock(&ctx->completion_lock).
>
> Fixed a month ago, what tree are you running?
>
> commit 96189080265e6bb5dde3a4afbaf947af493e3f82
> Author: Jens Axboe <axboe@kernel.dk>
> Date: Mon Mar 9 14:21:37 2026 -0600
>
> io_uring: ensure ctx->rings is stable for task work flags manipulation
Actually the poll part is this one:
commit 61a11cf4812726aceaee17c96432e1c08f6ed6cb
Author: Jens Axboe <axboe@kernel.dk>
Date: Tue Mar 31 07:07:47 2026 -0600
io_uring: protect remaining lockless ctx->rings accesses with RCU
which is also upstream.
--
Jens Axboe
next prev parent reply other threads:[~2026-04-09 15:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-09 14:55 [PATCH] io_uring: fix null-ptr-deref in io_uring_poll l1zao
2026-04-09 15:28 ` Jens Axboe
2026-04-09 15:29 ` Jens Axboe [this message]
2026-04-10 8:24 ` 章怿贺
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=37b606c2-8b76-4034-9a3e-a088ec4cf546@kernel.dk \
--to=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
--cc=l1zao@zju.edu.cn \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox