[PATCH] io_uring/fs: consider link->flags when getting path for LINKAT

Charles Mirabile posted 1 patch 2 years ago
io_uring/fs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] io_uring/fs: consider link->flags when getting path for LINKAT
Posted by Charles Mirabile 2 years ago
In order for `AT_EMPTY_PATH` to work as expected, the fact
that the user wants that behavior needs to make it to `getname_flags`
or it will return ENOENT.

Fixes: cf30da90bc3a ("io_uring: add support for IORING_OP_LINKAT")
Cc: stable@vger.kernel.org
Link: https://github.com/axboe/liburing/issues/995
Signed-off-by: Charles Mirabile <cmirabil@redhat.com>
---
 io_uring/fs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/io_uring/fs.c b/io_uring/fs.c
index 08e3b175469c..eccea851dd5a 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);
 
-- 
2.41.0
Re: [PATCH] io_uring/fs: consider link->flags when getting path for LINKAT
Posted by Jens Axboe 2 years ago
On Mon, 20 Nov 2023 05:55:45 -0500, Charles Mirabile wrote:
> In order for `AT_EMPTY_PATH` to work as expected, the fact
> that the user wants that behavior needs to make it to `getname_flags`
> or it will return ENOENT.
> 
> 

Applied, thanks!

[1/1] io_uring/fs: consider link->flags when getting path for LINKAT
      (no commit info)

Best regards,
-- 
Jens Axboe
Re: [PATCH] io_uring/fs: consider link->flags when getting path for LINKAT
Posted by Jens Axboe 2 years ago
On 11/20/23 3:55 AM, Charles Mirabile wrote:
> In order for `AT_EMPTY_PATH` to work as expected, the fact
> that the user wants that behavior needs to make it to `getname_flags`
> or it will return ENOENT.

Looks good - do you have a liburing test case for this too?

-- 
Jens Axboe
Re: [PATCH] io_uring/fs: consider link->flags when getting path for LINKAT
Posted by Charles Mirabile 2 years ago
On Mon, Nov 20, 2023 at 10:59 AM Jens Axboe <axboe@kernel.dk> wrote:
>
> On 11/20/23 3:55 AM, Charles Mirabile wrote:
> > In order for `AT_EMPTY_PATH` to work as expected, the fact
> > that the user wants that behavior needs to make it to `getname_flags`
> > or it will return ENOENT.
>
> Looks good - do you have a liburing test case for this too?
Yes, see here https://github.com/axboe/liburing/issues/995 and here
https://github.com/axboe/liburing/pull/996.
>
> --
> Jens Axboe
>
Best - Charlie
Re: [PATCH] io_uring/fs: consider link->flags when getting path for LINKAT
Posted by Jens Axboe 2 years ago
On 11/20/23 9:34 AM, Charles Mirabile wrote:
> On Mon, Nov 20, 2023 at 10:59 AM Jens Axboe <axboe@kernel.dk> wrote:
>>
>> On 11/20/23 3:55 AM, Charles Mirabile wrote:
>>> In order for `AT_EMPTY_PATH` to work as expected, the fact
>>> that the user wants that behavior needs to make it to `getname_flags`
>>> or it will return ENOENT.
>>
>> Looks good - do you have a liburing test case for this too?
> Yes, see here https://github.com/axboe/liburing/issues/995 and here
> https://github.com/axboe/liburing/pull/996.

Ah thank you - for some reason github stopped notifying me...

-- 
Jens Axboe