Milk-V Jupiter Linux kernel
Find a file
David Howells 996a7208da rxrpc: Fix missing locking causing hanging calls
[ Upstream commit fc9de52de38f656399d2ce40f7349a6b5f86e787 ]

If a call gets aborted (e.g. because kafs saw a signal) between it being
queued for connection and the I/O thread picking up the call, the abort
will be prioritised over the connection and it will be removed from
local->new_client_calls by rxrpc_disconnect_client_call() without a lock
being held.  This may cause other calls on the list to disappear if a race
occurs.

Fix this by taking the client_call_lock when removing a call from whatever
list its ->wait_link happens to be on.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: linux-afs@lists.infradead.org
Reported-by: Marc Dionne <marc.dionne@auristor.com>
Fixes: 9d35d880e0 ("rxrpc: Move client call connection to the I/O thread")
Link: https://patch.msgid.link/726660.1730898202@warthog.procyon.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-14 13:19:32 +01:00
arch arm64: dts: rockchip: Correct GPIO polarity on brcm BT nodes 2024-11-14 13:19:29 +01:00
block block: fix sanity checks in blk_rq_map_user_bvec 2024-11-08 16:28:24 +01:00
certs certs: Reference revocation list for all keyrings 2023-08-17 20:12:41 +00:00
crypto crypto: simd - Do not call crypto_alloc_tfm during registration 2024-10-10 11:57:26 +02:00
Documentation dt-bindings: net: xlnx,axi-ethernet: Correct phy-mode property value 2024-11-14 13:19:30 +01:00
drivers net: arc: rockchip: fix emac mdio node support 2024-11-14 13:19:32 +01:00
fs nfs: avoid i_lock contention in nfs_clear_invalid_mapping 2024-11-14 13:19:30 +01:00
include rxrpc: Fix missing locking causing hanging calls 2024-11-14 13:19:32 +01:00
init rcu-tasks: Initialize data to eliminate RCU-tasks/do_exit() deadlocks 2024-11-08 16:28:22 +01:00
io_uring io_uring: always lock __io_cqring_overflow_flush 2024-11-08 16:28:27 +01:00
ipc sysctl: treewide: drop unused argument ctl_table_root::set_ownership(table) 2024-08-11 12:47:13 +02:00
kernel sched/numa: Fix the potential null pointer dereference in task_numa_work() 2024-11-08 16:28:25 +01:00
lib x86/traps: Enable UBSAN traps on x86 2024-11-08 16:28:26 +01:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm mm: don't install PMD mappings when THPs are disabled by the hw/process/vma 2024-11-08 16:28:27 +01:00
net rxrpc: Fix missing locking causing hanging calls 2024-11-14 13:19:32 +01:00
rust rust: sync: require T: Sync for LockedBy::access 2024-10-10 11:57:44 +02:00
samples samples/bpf: Fix compilation errors with cf-protection option 2024-10-04 16:29:19 +02:00
scripts kconfig: qconf: fix buffer overflow in debug links 2024-10-10 11:58:01 +02:00
security security/keys: fix slab-out-of-bounds in key_task_permission 2024-11-14 13:19:30 +01:00
sound ASoC: SOF: ipc4-control: Add support for ALSA enum control 2024-11-08 16:28:27 +01:00
tools cxl/port: Fix use-after-free, permit out-of-order decoder shutdown 2024-11-08 16:28:24 +01:00
usr initramfs: Encode dependency on KBUILD_BUILD_TIMESTAMP 2023-06-06 17:54:49 +09:00
virt KVM: Use dedicated mutex to protect kvm_usage_count to avoid deadlock 2024-10-04 16:29:47 +02:00
.clang-format iommu: Add for_each_group_device() 2023-05-23 08:15:51 +02:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore Remove *.orig pattern from .gitignore 2024-10-04 16:29:44 +02:00
.mailmap 20 hotfixes. 12 are cc:stable and the remainder address post-6.5 issues 2023-10-24 09:52:16 -10: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 USB: Remove Wireless USB and UWB documentation 2023-08-09 14:17:32 +02: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 membarrier: riscv: Add full memory barrier in switch_mm() 2024-09-12 11:11:45 +02:00
Makefile Linux 6.6.60 2024-11-08 16:28:28 +01:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

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.