lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <3fab7978-3dca-a6a8-a908-e9f7d8100dda@kernel.dk>
Date:   Sun, 6 Aug 2023 10:41:11 -0600
From:   Jens Axboe <axboe@...nel.dk>
To:     Aleksa Sarai <cyphar@...har.com>
Cc:     Alexander Viro <viro@...iv.linux.org.uk>,
        Christian Brauner <brauner@...nel.org>,
        Pavel Begunkov <asml.silence@...il.com>,
        linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
        io-uring@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH v2 2/2] io_uring: correct check for O_TMPFILE

On 8/6/23 12:42?AM, Aleksa Sarai wrote:
> On 2023-08-05, Jens Axboe <axboe@...nel.dk> 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@...r.kernel.org # v5.12+
>>> Fixes: 3a81fd02045c ("io_uring: enable LOOKUP_CACHED path resolution for filename lookups")
>>> Signed-off-by: Aleksa Sarai <cyphar@...har.com>
>>> ---
>>>  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.

Right, but it's confusing now as the comment refers to O_TMPFILE but
__O_TMPFILE is being used. I'd include a comment in there on why it's
__O_TMPFILE and not O_TMPFILE, that's the interesting bit. As it stands,
you'd read the comment and look at the code and need to figure that on
your own. Hence it deserves a comment.

-- 
Jens Axboe

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ