2023-11-20 10:57:11

by Charles Mirabile

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

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: [email protected]
Link: https://github.com/axboe/liburing/issues/995
Signed-off-by: Charles Mirabile <[email protected]>
---
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


2023-11-20 15:59:19

by Jens Axboe

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

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


2023-11-20 16:18:43

by Jens Axboe

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


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



2023-11-20 16:35:16

by Charles Mirabile

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

On Mon, Nov 20, 2023 at 10:59 AM Jens Axboe <[email protected]> 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

2023-11-20 16:39:25

by Jens Axboe

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

On 11/20/23 9:34 AM, Charles Mirabile wrote:
> On Mon, Nov 20, 2023 at 10:59 AM Jens Axboe <[email protected]> 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