<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/io_uring.c, branch linux-5.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-04-13T18:03:20Z</updated>
<entry>
<title>io_uring: fix race between timeout flush and removal</title>
<updated>2022-04-13T18:03:20Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2022-04-08T17:08:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d568c13d9d29d3151540a0d1b20c3a1ca801a662'/>
<id>urn:sha1:d568c13d9d29d3151540a0d1b20c3a1ca801a662</id>
<content type='text'>
commit e677edbcabee849bfdd43f1602bccbecf736a646 upstream.

io_flush_timeouts() assumes the timeout isn't in progress of triggering
or being removed/canceled, so it unconditionally removes it from the
timeout list and attempts to cancel it.

Leave it on the list and let the normal timeout cancelation take care
of it.

Cc: stable@vger.kernel.org # 5.5+
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>io_uring: implement compat handling for IORING_REGISTER_IOWQ_AFF</title>
<updated>2022-04-13T18:03:20Z</updated>
<author>
<name>Eugene Syromiatnikov</name>
</author>
<published>2022-04-06T11:55:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ed6b5cb53a22189ffb0dcc0b0ad34b256653909d'/>
<id>urn:sha1:ed6b5cb53a22189ffb0dcc0b0ad34b256653909d</id>
<content type='text'>
commit 0f5e4b83b37a96e3643951588ed7176b9b187c0a upstream.

Similarly to the way it is done im mbind syscall.

Cc: stable@vger.kernel.org # 5.14
Fixes: fe76421d1da1dcdb ("io_uring: allow user configurable IO thread CPU affinity")
Signed-off-by: Eugene Syromiatnikov &lt;esyr@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>io_uring: defer splice/tee file validity check until command issue</title>
<updated>2022-04-13T18:03:20Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2022-03-29T16:59:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e767b3a3a4c47c025879fa92343f6cc121af5e6d'/>
<id>urn:sha1:e767b3a3a4c47c025879fa92343f6cc121af5e6d</id>
<content type='text'>
commit a3e4bc23d5470b2beb7cc42a86b6a3e75b704c15 upstream.

In preparation for not using the file at prep time, defer checking if this
file refers to a valid io_uring instance until issue time.

This also means we can get rid of the cleanup flag for splice and tee.

Cc: stable@vger.kernel.org # v5.15+
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>io_uring: don't check req-&gt;file in io_fsync_prep()</title>
<updated>2022-04-13T18:03:20Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2022-03-30T17:06:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d63bd1bad8ed2dbd4d22931de677b3dfccec0f8c'/>
<id>urn:sha1:d63bd1bad8ed2dbd4d22931de677b3dfccec0f8c</id>
<content type='text'>
commit ec858afda857e361182ceafc3d2ba2b164b8e889 upstream.

This is a leftover from the really old days where we weren't able to
track and error early if we need a file and it wasn't assigned. Kill
the check.

Cc: stable@vger.kernel.org # v5.15+
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>io_uring: don't touch scm_fp_list after queueing skb</title>
<updated>2022-04-13T18:03:18Z</updated>
<author>
<name>Pavel Begunkov</name>
</author>
<published>2022-04-06T11:43:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ec3c0bd9a209f60cf4b17de2e45b8c86f09d358c'/>
<id>urn:sha1:ec3c0bd9a209f60cf4b17de2e45b8c86f09d358c</id>
<content type='text'>
[ Upstream commit a07211e3001435fe8591b992464cd8d5e3c98c5a ]

It's safer to not touch scm_fp_list after we queued an skb to which it
was assigned, there might be races lurking if we screw subtle sync
guarantees on the io_uring side.

Fixes: 6b06314c47e14 ("io_uring: add file set registration")
Signed-off-by: Pavel Begunkov &lt;asml.silence@gmail.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>io_uring: nospec index for tags on files update</title>
<updated>2022-04-13T18:03:17Z</updated>
<author>
<name>Pavel Begunkov</name>
</author>
<published>2022-04-06T11:43:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=03a0b9cf7afcb568336d1dc89763395538d27d48'/>
<id>urn:sha1:03a0b9cf7afcb568336d1dc89763395538d27d48</id>
<content type='text'>
[ Upstream commit 34bb77184123ae401100a4d156584f12fa630e5c ]

Don't forget to array_index_nospec() for indexes before updating rsrc
tags in __io_sqe_files_update(), just use already safe and precalculated
index @i.

Fixes: c3bdad0271834 ("io_uring: add generic rsrc update with tags")
Signed-off-by: Pavel Begunkov &lt;asml.silence@gmail.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>io_uring: fix memory leak of uid in files registration</title>
<updated>2022-04-08T12:06:52Z</updated>
<author>
<name>Pavel Begunkov</name>
</author>
<published>2022-03-25T16:36:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6d7a517e81accf6ed22d55684baea763d2dbe43'/>
<id>urn:sha1:d6d7a517e81accf6ed22d55684baea763d2dbe43</id>
<content type='text'>
commit c86d18f4aa93e0e66cda0e55827cd03eea6bc5f8 upstream.

When there are no files for __io_sqe_files_scm() to process in the
range, it'll free everything and return. However, it forgets to put uid.

Fixes: 08a451739a9b5 ("io_uring: allow sparse fixed file sets")
Signed-off-by: Pavel Begunkov &lt;asml.silence@gmail.com&gt;
Link: https://lore.kernel.org/r/accee442376f33ce8aaebb099d04967533efde92.1648226048.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>io_uring: terminate manual loop iterator loop correctly for non-vecs</title>
<updated>2022-04-08T12:05:42Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2022-03-18T17:28:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c418517bb12d6467725441e47b6ba38f3df44d82'/>
<id>urn:sha1:c418517bb12d6467725441e47b6ba38f3df44d82</id>
<content type='text'>
[ Upstream commit 5e929367468c8f97cd1ffb0417316cecfebef94b ]

The fix for not advancing the iterator if we're using fixed buffers is
broken in that it can hit a condition where we don't terminate the loop.
This results in io-wq looping forever, asking to read (or write) 0 bytes
for every subsequent loop.

Reported-by: Joel Jaeschke &lt;joel.jaeschke@gmail.com&gt;
Link: https://github.com/axboe/liburing/issues/549
Fixes: 16c8d2df7ec0 ("io_uring: ensure symmetry in handling iter types in loop_rw_iter()")
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>io_uring: don't check unrelated req-&gt;open.how in accept request</title>
<updated>2022-04-08T12:05:42Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2022-03-14T23:26:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ded168c80f857381d3b1b4eef813ef47fcc7403b'/>
<id>urn:sha1:ded168c80f857381d3b1b4eef813ef47fcc7403b</id>
<content type='text'>
[ Upstream commit adf3a9e9f556613197583a1884f0de40a8bb6fb9 ]

Looks like a victim of too much copy/paste, we should not be looking
at req-&gt;open.how in accept. The point is to check CLOEXEC and error
out, which we don't invalid direct descriptors on exec. Hence any
attempt to get a direct descriptor with CLOEXEC is invalid.

No harm is done here, as req-&gt;open.how.flags overlaps with
req-&gt;accept.flags, but it's very confusing and might change if either of
those command structs are modified.

Fixes: aaa4db12ef7b ("io_uring: accept directly into fixed file table")
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>io_uring: ensure that fsnotify is always called</title>
<updated>2022-04-08T12:05:27Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2022-03-20T19:08:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dfbe550c8235b7e98284db37eeeddfd3b4b19b00'/>
<id>urn:sha1:dfbe550c8235b7e98284db37eeeddfd3b4b19b00</id>
<content type='text'>
commit f63cf5192fe3418ad5ae1a4412eba5694b145f79 upstream.

Ensure that we call fsnotify_modify() if we write a file, and that we
do fsnotify_access() if we read it. This enables anyone using inotify
on the file to get notified.

Ditto for fallocate, ensure that fsnotify_modify() is called.

Cc: stable@vger.kernel.org
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
