aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2023-11-23 17:36:29 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2023-11-23 17:36:29 -0800
commit004442384416cbb3cedf99eb8ab5f10c32e4dd34 (patch)
treebf95e95053fe7e33033f5c2c597b08dbf1d0f0b1
parent1f342790ad3c2456e15351829ad5d8919cccc03f (diff)
parentd6fef34ee4d102be448146f24caf96d7b4a05401 (diff)
downloadlibata-004442384416cbb3cedf99eb8ab5f10c32e4dd34.tar.gz
Merge tag 'io_uring-6.7-2023-11-23' of git://git.kernel.dk/linux
Pull io_uring fixes from Jens Axboe: "A fix for ensuring that LINKAT always propagates flags correctly, and a fix for an off-by-one in segment skipping for registered buffers. Both heading to stable as well" * tag 'io_uring-6.7-2023-11-23' of git://git.kernel.dk/linux: io_uring: fix off-by one bvec index io_uring/fs: consider link->flags when getting path for LINKAT
-rw-r--r--io_uring/fs.c2
-rw-r--r--io_uring/rsrc.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/io_uring/fs.c b/io_uring/fs.c
index 08e3b175469c68..eccea851dd5a28 100644
--- a/io_uring/fs.c
+++ b/io_uring/fs.c
@@ -254,7 +254,7 @@ int io_linkat_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
newf = u64_to_user_ptr(READ_ONCE(sqe->addr2));
lnk->flags = READ_ONCE(sqe->hardlink_flags);
- lnk->oldpath = getname(oldf);
+ lnk->oldpath = getname_uflags(oldf, lnk->flags);
if (IS_ERR(lnk->oldpath))
return PTR_ERR(lnk->oldpath);
diff --git a/io_uring/rsrc.c b/io_uring/rsrc.c
index 7034be555334d2..f521c5965a9331 100644
--- a/io_uring/rsrc.c
+++ b/io_uring/rsrc.c
@@ -1258,7 +1258,7 @@ int io_import_fixed(int ddir, struct iov_iter *iter,
*/
const struct bio_vec *bvec = imu->bvec;
- if (offset <= bvec->bv_len) {
+ if (offset < bvec->bv_len) {
/*
* Note, huge pages buffers consists of one large
* bvec entry and should always go this way. The other