Re: [PATCH v2 2/2] io_uring: correct check for O_TMPFILE

From: Aleksa Sarai
Date: Sun Aug 06 2023 - 02:43:06 EST


On 2023-08-05, Jens Axboe <axboe@xxxxxxxxx> wrote:
> On 8/5/23 4:48?PM, Aleksa Sarai wrote:
> > O_TMPFILE is actually __O_TMPFILE|O_DIRECTORY. This means that the old
> > check for whether RESOLVE_CACHED can be used would incorrectly think
> > that O_DIRECTORY could not be used with RESOLVE_CACHED.
> >
> > Cc: stable@xxxxxxxxxxxxxxx # v5.12+
> > Fixes: 3a81fd02045c ("io_uring: enable LOOKUP_CACHED path resolution for filename lookups")
> > Signed-off-by: Aleksa Sarai <cyphar@xxxxxxxxxx>
> > ---
> > io_uring/openclose.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/io_uring/openclose.c b/io_uring/openclose.c
> > index 10ca57f5bd24..a029c230119f 100644
> > --- a/io_uring/openclose.c
> > +++ b/io_uring/openclose.c
> > @@ -35,9 +35,9 @@ static bool io_openat_force_async(struct io_open *open)
> > {
> > /*
> > * Don't bother trying for O_TRUNC, O_CREAT, or O_TMPFILE open,
> > - * it'll always -EAGAIN
> > + * it'll always -EAGAIN.
>
> Please don't make this change, it just detracts from the actual change.
> And if we are making changes in there, why not change O_TMPFILE as well
> since this is what the change is about?

Userspace can't pass just __O_TMPFILE, so to me "__O_TMPFILE open"
sounds strange. The intention is to detect open(O_TMPFILE), it just so
happens that the correct check is __O_TMPFILE.

But I can change it if you prefer.

--
Aleksa Sarai
Senior Software Engineer (Containers)
SUSE Linux GmbH
<https://www.cyphar.com/>

Attachment: signature.asc
Description: PGP signature