Go to file
Pavel Begunkov 24dce1c538 io_uring: fix lost getsockopt completions
There is a report that iowq executed getsockopt never completes. The
reason being that io_uring_cmd_sock() can return a positive result, and
io_uring_cmd() propagates it back to core io_uring, instead of IOU_OK.
In case of io_wq_submit_work(), the request will be dropped without
completing it.

The offending code was introduced by a hack in
a9c3eda7ea ("io_uring: fix submission-failure handling for uring-cmd"),
however it was fine until getsockopt was introduced and started
returning positive results.

The right solution is to always return IOU_OK, since
e0b23d9953 ("io_uring: optimise ltimeout for inline execution"),
we should be able to do it without problems, however for the sake of
backporting and minimising side effects, let's keep returning negative
return codes and otherwise do IOU_OK.

Link: https://github.com/axboe/liburing/issues/1181
Cc: stable@vger.kernel.org
Fixes: 8e9fad0e70 ("io_uring: Add io_uring command support for sockets")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: Breno Leitao <leitao@debian.org>
Link: https://lore.kernel.org/r/ff349cf0654018189b6077e85feed935f0f8839e.1721149870.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2024-07-20 11:04:56 -06:00
Documentation RISC-V Patches for the 6.11 Merge Window, Part 1 2024-07-20 09:11:27 -07:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
arch RISC-V Patches for the 6.11 Merge Window, Part 1 2024-07-20 09:11:27 -07:00
block SCSI misc on 20240718 2024-07-19 10:56:58 -07:00
certs kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
crypto crypto: testmgr - generate power-of-2 lengths more often 2024-07-13 11:50:28 +12:00
drivers RISC-V Patches for the 6.11 Merge Window, Part 1 2024-07-20 09:11:27 -07:00
fs for-6.11-tag 2024-07-19 14:34:52 -07:00
include RISC-V Patches for the 6.11 Merge Window, Part 1 2024-07-20 09:11:27 -07:00
init init/Kconfig: remove CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND 2024-07-18 10:33:14 -07:00
io_uring io_uring: fix lost getsockopt completions 2024-07-20 11:04:56 -06:00
ipc slab updates for 6.11 2024-07-18 15:08:12 -07:00
kernel pci-v6.11-changes 2024-07-19 19:03:18 -07:00
lib Char/Misc and other driver changes for 6.11-rc1 2024-07-19 15:55:08 -07:00
mm NFS Client Updates for Linux 6.11 2024-07-18 17:17:30 -07:00
net Notably this includes fixes for a s390 build breakage. 2024-07-19 14:58:12 -07:00
rust slab updates for 6.11 2024-07-18 15:08:12 -07:00
samples Char/Misc and other driver changes for 6.11-rc1 2024-07-19 15:55:08 -07:00
scripts powerpc updates for 6.11 2024-07-19 21:00:33 -07:00
security This update includes the following changes: 2024-07-19 08:52:58 -07:00
sound Char/Misc and other driver changes for 6.11-rc1 2024-07-19 15:55:08 -07:00
tools RISC-V Patches for the 6.11 Merge Window, Part 1 2024-07-20 09:11:27 -07:00
usr kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
virt KVM fixes for 6.10 2024-06-21 08:03:55 -04:00
.clang-format Docs: Move clang-format from process/ to dev-tools/ 2024-06-26 16:36:00 -06:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore Add Jeff Kirsher to .get_maintainer.ignore 2024-03-08 11:36:54 +00:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore kbuild: create a list of all built DTB files 2024-02-19 18:20:39 +09:00
.mailmap soc: dt updates for 6.11 2024-07-16 11:43:51 -07:00
.rustfmt.toml rust: add `.rustfmt.toml` 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS tracing: Update of MAINTAINERS and CREDITS file 2024-07-18 14:08:42 -07:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS - added support for Realtek RTL9302C 2024-07-20 09:03:36 -07:00
Makefile asm-generic updates for 6.11 2024-07-16 12:09:03 -07:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.