]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
io_uring/rsrc: fix incorrect assignment of iter->nr_segs in io_import_fixed
authorChenliang Li <cliang01.li@samsung.com>
Wed, 19 Jun 2024 06:38:19 +0000 (14:38 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jun 2024 11:52:25 +0000 (13:52 +0200)
[ Upstream commit a23800f08a60787dfbf2b87b2e6ed411cb629859 ]

In io_import_fixed when advancing the iter within the first bvec, the
iter->nr_segs is set to bvec->bv_len. nr_segs should be the number of
bvecs, plus we don't need to adjust it here, so just remove it.

Fixes: b000ae0ec2d7 ("io_uring/rsrc: optimise single entry advance")
Signed-off-by: Chenliang Li <cliang01.li@samsung.com>
Reviewed-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/20240619063819.2445-1-cliang01.li@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
io_uring/rsrc.c

index 87f9aa7cf9255113274ae064722acf7856915b09..956e2c715eb483bd28df3eafebe28ab51e74efc8 100644 (file)
@@ -1105,7 +1105,6 @@ int io_import_fixed(int ddir, struct iov_iter *iter,
                         * branch doesn't expect non PAGE_SIZE'd chunks.
                         */
                        iter->bvec = bvec;
-                       iter->nr_segs = bvec->bv_len;
                        iter->count -= offset;
                        iter->iov_offset = offset;
                } else {