diff options
author | Yang Xiuwei <yangxiuwei@kylinos.cn> | 2025-09-19 17:03:52 +0800 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2025-09-19 06:00:57 -0600 |
commit | 2c139a47eff8de24e3350dadb4c9d5e3426db826 (patch) | |
tree | 1a2c9905e97190bbf535a7afe6a11af7ba4c724f | |
parent | df8922afc37aa2111ca79a216653a629146763ad (diff) |
io_uring: fix incorrect io_kiocb reference in io_link_skb
In io_link_skb function, there is a bug where prev_notif is incorrectly
assigned using 'nd' instead of 'prev_nd'. This causes the context
validation check to compare the current notification with itself instead
of comparing it with the previous notification.
Fix by using the correct prev_nd parameter when obtaining prev_notif.
Signed-off-by: Yang Xiuwei <yangxiuwei@kylinos.cn>
Reviewed-by: Pavel Begunkov <asml.silence@gmail.com>
Fixes: 6fe4220912d19 ("io_uring/notif: implement notification stacking")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | io_uring/notif.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/io_uring/notif.c b/io_uring/notif.c index 9a6f6e92d742..ea9c0116cec2 100644 --- a/io_uring/notif.c +++ b/io_uring/notif.c @@ -85,7 +85,7 @@ static int io_link_skb(struct sk_buff *skb, struct ubuf_info *uarg) return -EEXIST; prev_nd = container_of(prev_uarg, struct io_notif_data, uarg); - prev_notif = cmd_to_io_kiocb(nd); + prev_notif = cmd_to_io_kiocb(prev_nd); /* make sure all noifications can be finished in the same task_work */ if (unlikely(notif->ctx != prev_notif->ctx || |