Merge tag 'io_uring-6.18-20251128' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull io_uring fixes from Jens Axboe:

- Ensure that vectored registered buffer imports ties the lifetime of
those to the zero-copy send notification, not the parent request

- Fix a bug introduced in this merge window, with the introduction of
mixed sized CQE support

* tag 'io_uring-6.18-20251128' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux:
io_uring: fix mixed cqe overflow handling
io_uring/net: ensure vectored buffer node import is tied to notification

Changed files
+6 -2
io_uring
+2
io_uring/io_uring.c
··· 634 634 is_cqe32 = true; 635 635 cqe_size <<= 1; 636 636 } 637 + if (ctx->flags & IORING_SETUP_CQE32) 638 + is_cqe32 = false; 637 639 638 640 if (!dying) { 639 641 if (!io_get_cqe_overflow(ctx, &cqe, true, is_cqe32))
+4 -2
io_uring/net.c
··· 1532 1532 unsigned uvec_segs = kmsg->msg.msg_iter.nr_segs; 1533 1533 int ret; 1534 1534 1535 - ret = io_import_reg_vec(ITER_SOURCE, &kmsg->msg.msg_iter, req, 1536 - &kmsg->vec, uvec_segs, issue_flags); 1535 + sr->notif->buf_index = req->buf_index; 1536 + ret = io_import_reg_vec(ITER_SOURCE, &kmsg->msg.msg_iter, 1537 + sr->notif, &kmsg->vec, uvec_segs, 1538 + issue_flags); 1537 1539 if (unlikely(ret)) 1538 1540 return ret; 1539 1541 req->flags &= ~REQ_F_IMPORT_BUFFER;