diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2026-01-07 07:26:43 +0300 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2026-01-16 20:48:16 +0300 |
| commit | da72b76aaeaa2bc67ccedd6e539fabc04aff3ecd (patch) | |
| tree | e4550452a10b692bbbe29f44dbb5419175529d48 /io_uring | |
| parent | 037193b0ae833c922881f0bf188b4ed49874e6c9 (diff) | |
| download | linux-da72b76aaeaa2bc67ccedd6e539fabc04aff3ecd.tar.xz | |
non-consuming variant of do_symlinkat()
similar to previous commit; replacement is filename_symlinkat()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'io_uring')
| -rw-r--r-- | io_uring/fs.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/io_uring/fs.c b/io_uring/fs.c index e39cd1ca1942..cd4d88d37795 100644 --- a/io_uring/fs.c +++ b/io_uring/fs.c @@ -233,12 +233,13 @@ int io_symlinkat_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) int io_symlinkat(struct io_kiocb *req, unsigned int issue_flags) { struct io_link *sl = io_kiocb_to_cmd(req, struct io_link); + CLASS(filename_complete_delayed, old)(&sl->oldpath); + CLASS(filename_complete_delayed, new)(&sl->newpath); int ret; WARN_ON_ONCE(issue_flags & IO_URING_F_NONBLOCK); - ret = do_symlinkat(complete_getname(&sl->oldpath), sl->new_dfd, - complete_getname(&sl->newpath)); + ret = filename_symlinkat(old, sl->new_dfd, new); req->flags &= ~REQ_F_NEED_CLEANUP; io_req_set_res(req, ret, 0); |
