]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
io_uring: remove nr_segs recalculation in io_import_kbuf()
authorMing Lei <ming.lei@redhat.com>
Wed, 31 Dec 2025 03:00:57 +0000 (11:00 +0800)
committerJens Axboe <axboe@kernel.dk>
Wed, 7 Jan 2026 15:06:33 +0000 (08:06 -0700)
commit15f506a77ad61ac3273ade9b7ef87af9bdba22ad
tree352d8b1c3059813d2552af35013dff25c15aec84
parent641864314866dff382f64cd8b52fd6bf4c4d84f6
io_uring: remove nr_segs recalculation in io_import_kbuf()

io_import_kbuf() recalculates iter->nr_segs to reflect only the bvecs
needed for the requested byte range. This was added to provide an
accurate segment count to bio_iov_bvec_set(), which copied nr_segs to
bio->bi_vcnt for use as a bio split hint.

The previous two patches eliminated this dependency:
 - bio_may_need_split() now uses bi_iter instead of bi_vcnt for split
   decisions
 - bio_iov_bvec_set() no longer copies nr_segs to bi_vcnt

Since nr_segs is no longer used for bio split decisions, the
recalculation loop is unnecessary. The iov_iter already has the correct
bi_size to cap iteration, so an oversized nr_segs is harmless.

Link: https://lkml.org/lkml/2025/4/16/351
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Nitesh Shetty <nj.shetty@samsung.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/rsrc.c