Go to file
Pavel Begunkov b2ec2b12a4 io_uring: cancel reqs shouldn't kill overflow list
[ Upstream commit cda286f0715c82f8117e166afd42cca068876dde ]

io_uring_cancel_task_requests() doesn't imply that the ring is going
away, it may continue to work well after that. The problem is that it
sets ->cq_overflow_flushed effectively disabling the CQ overflow feature

Split setting cq_overflow_flushed from flush, and do the first one only
on exit. It's ok in terms of cancellations because there is a
io_uring->in_idle check in __io_cqring_fill_event().

It also fixes a race with setting ->cq_overflow_flushed in
io_uring_cancel_task_requests, whuch's is not atomic and a part of a
bitmask with other flags. Though, the only other flag that's not set
during init is drain_next, so it's not as bad for sane architectures.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Fixes: 0f2122045b ("io_uring: don't rely on weak ->files references")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-12-30 11:54:02 +01:00
arch ARM: 9036/1: uncompress: Fix dbgadtb size parameter name 2020-12-30 11:54:02 +01:00
block block-5.10-2020-12-05 2020-12-05 14:45:30 -08:00
certs
crypto crypto: Kconfig - CRYPTO_MANAGER_EXTRA_TESTS requires the manager 2020-12-30 11:53:09 +01:00
Documentation USB: UAS: introduce a quirk to set no_write_same 2020-12-21 13:30:08 +01:00
drivers clk: vc5: Use "idt,voltage-microvolt" instead of "idt,voltage-microvolts" 2020-12-30 11:54:01 +01:00
fs io_uring: cancel reqs shouldn't kill overflow list 2020-12-30 11:54:02 +01:00
include devlink: use _BITUL() macro instead of BIT() in the UAPI header 2020-12-30 11:53:58 +01:00
init initramfs: fix clang build failure 2020-12-11 14:02:14 -08:00
ipc ipc: adjust proc_ipc_sem_dointvec definition to match prototype 2020-09-05 12:14:29 -07:00
kernel mm/gup: prevent gup_fast from racing with COW during fork 2020-12-30 11:53:54 +01:00
lib selftest/fpu: avoid clang warning 2020-12-11 14:02:14 -08:00
LICENSES LICENSES/deprecated: add Zlib license text 2020-09-16 14:33:49 +02:00
mm mm: don't wake kswapd prematurely when watermark boosting is disabled 2020-12-30 11:53:55 +01:00
net sunrpc: fix xs_read_xdr_buf for partial pages receive 2020-12-30 11:53:53 +01:00
samples samples/bpf: Fix possible hang in xdpsock with multiple threads 2020-12-30 11:53:49 +01:00
scripts kconfig: fix return value of do_error_if() 2020-12-30 11:54:01 +01:00
security selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling 2020-12-30 11:53:03 +01:00
sound ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control() 2020-12-30 11:53:50 +01:00
tools perf probe: Fix memory leak when synthesizing SDT probes 2020-12-30 11:54:02 +01:00
usr Merge branch 'work.fdpic' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-08-07 13:29:39 -07:00
virt kvm: x86/mmu: Support dirty logging for the TDP MMU 2020-10-23 03:42:13 -04:00
.clang-format RDMA 5.10 pull request 2020-10-17 11:18:18 -07:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore .gitignore: docs: ignore sphinx_*/ directories 2020-09-10 10:44:31 -06:00
.mailmap mailmap: add two more addresses of Uwe Kleine-König 2020-12-06 10:19:07 -08:00
COPYING
CREDITS MAINTAINERS: Move Jason Cooper to CREDITS 2020-11-30 10:20:34 +01:00
Kbuild
Kconfig
MAINTAINERS Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-12-10 15:30:13 -08:00
Makefile Linux 5.10.3 2020-12-26 16:02:46 +01: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 Restructured Text 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.