Re: [PATCH v2] io_uring: fix use-after-free of sq->thread in __io_uring_show_fdinfo()
From: Keith Busch
Date: Tue Jun 10 2025 - 14:44:43 EST
On Tue, Jun 10, 2025 at 10:18:01AM -0700, Penglei Jiang wrote:
> @@ -379,7 +380,8 @@ static int io_sq_thread(void *data)
> io_sq_tw(&retry_list, UINT_MAX);
>
> io_uring_cancel_generic(true, sqd);
> - sqd->thread = NULL;
> + rcu_assign_pointer(sqd->thread, NULL);
I believe this will fail a sparse check without adding the "__rcu" type
annotation on the struct's "thread" member.