diff options
author | Jens Axboe <axboe@kernel.dk> | 2025-07-06 16:42:23 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2025-07-06 16:42:23 -0600 |
commit | 1bc8890264804a6ec393a0a0c1b72ec509f95236 (patch) | |
tree | f5d57480a47fb5780260451428e8700e4003e74e /io_uring/io_uring.c | |
parent | cf73d9970ea4f8cace5d8f02d2565a2723003112 (diff) | |
parent | 6f11adcc6f36ffd8f33dbdf5f5ce073368975bc3 (diff) |
Merge branch 'io_uring-6.16' into for-6.17/io_uring
Merge in 6.16 io_uring fixes, to avoid clashes with pending net and
settings changes.
* io_uring-6.16:
io_uring: gate REQ_F_ISREG on !S_ANON_INODE as well
io_uring/kbuf: flag partial buffer mappings
io_uring/net: mark iov as dynamically allocated even for single segments
io_uring: fix resource leak in io_import_dmabuf()
io_uring: don't assume uaddr alignment in io_vec_fill_bvec
io_uring/rsrc: don't rely on user vaddr alignment
io_uring/rsrc: fix folio unpinning
io_uring: make fallocate be hashed work
Diffstat (limited to 'io_uring/io_uring.c')
-rw-r--r-- | io_uring/io_uring.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index 895740c955d0..886368cd2c40 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -1706,11 +1706,12 @@ static void io_iopoll_req_issued(struct io_kiocb *req, unsigned int issue_flags) io_req_flags_t io_file_get_flags(struct file *file) { + struct inode *inode = file_inode(file); io_req_flags_t res = 0; BUILD_BUG_ON(REQ_F_ISREG_BIT != REQ_F_SUPPORT_NOWAIT_BIT + 1); - if (S_ISREG(file_inode(file)->i_mode)) + if (S_ISREG(inode->i_mode) && !(inode->i_flags & S_ANON_INODE)) res |= REQ_F_ISREG; if ((file->f_flags & O_NONBLOCK) || (file->f_mode & FMODE_NOWAIT)) res |= REQ_F_SUPPORT_NOWAIT; |