diff options
| author | Jakub Kicinski <[email protected]> | 2022-05-12 22:39:02 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2022-05-12 23:15:30 +0000 |
| commit | 9b19e57a3c78f1f7c08a48bafb7d84caf6e80b68 (patch) | |
| tree | 780e0a4b694b7b7aaabe7d7a0df38275e025fad8 /fs/io_uring.c | |
| parent | Merge branch 'nfp-vf-rate-limit-support' (diff) | |
| parent | Merge tag 'net-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/net... (diff) | |
| download | kernel-9b19e57a3c78f1f7c08a48bafb7d84caf6e80b68.tar.gz kernel-9b19e57a3c78f1f7c08a48bafb7d84caf6e80b68.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
No conflicts.
Build issue in drivers/net/ethernet/sfc/ptp.c
54fccfdd7c66 ("sfc: efx_default_channel_type APIs can be static")
49e6123c65da ("net: sfc: fix memory leak due to ptp channel")
https://lore.kernel.org/all/[email protected]/
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'fs/io_uring.c')
| -rw-r--r-- | fs/io_uring.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/io_uring.c b/fs/io_uring.c index e01f595f5b7d..91de361ea9ab 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -6947,7 +6947,12 @@ static int io_req_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) static int io_req_prep_async(struct io_kiocb *req) { - if (!io_op_defs[req->opcode].needs_async_setup) + const struct io_op_def *def = &io_op_defs[req->opcode]; + + /* assign early for deferred execution for non-fixed file */ + if (def->needs_file && !(req->flags & REQ_F_FIXED_FILE)) + req->file = io_file_get_normal(req, req->fd); + if (!def->needs_async_setup) return 0; if (WARN_ON_ONCE(req_has_async_data(req))) return -EFAULT; |
