From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=91.218.175.182 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1794193125; b=fH3S6Lt8u0P+yqPYGSyuCs8G3jtYp/68GH00pdliq18Ycaoqbox9U598P3dYq9CDupEP QolUsTgOaRsKSRRb9eI1uuqEy1i01Iy/89z0zF163+Guut7BxKQJVk5cRkvnTpFmLJJpH PiJjozXIHpNrVuT4qSj0C3qhUJT5bLjMgz6Y0YflFVysZy5FWaYliUqGpWQbEM7D8AKAp FbYxY5PGEsxd/7Qq9trUNBtt3YRzChYcDbJEqWjRQbwD+OsQEZ2e8tWSjjhe2fQtdH0e+ EqdnBoSgjgZxtNqimXYLrtT/EL21f/IYBtVaF72Mkv0xY7ITLwGLl+3DVRtEz42QCig== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1794193125; h=DMARC-Filter:X-Envelope-To:DKIM-Signature:X-Envelope-To:Received: X-Mizu-Trace-ID:X-Migadu-Flow:From:To:Cc:Subject:Date:Message-ID: X-Mailer:In-Reply-To:References:MIME-Version: Content-Transfer-Encoding; bh=yphr/xiIDRgmCIjQY3JvfmHV8o2HtJ/A7EORNX9HaRg=; b=nLalZ3ro6ZjLIeEhCXpgPJTu3AtI49NOSSZWPSA+ETXrAi7QeF2k+MY/8eKkiAQarFlB 5NuESfPZ+/GM1FFTvJLySAVt4hXozcWbIDRZ+bFTHW7xYLlVtL4vTYXUy2Cq3ExqAykml 7F1D3xBDZ+6Ny1qx2o0LUvXC7jF8jp8AV7yn/nqHro5y7UrhNyVpJ9d+qtIFYO8uUSNVr FZ72R0ueVvmL+TEP94SMu0UiWhFUDXUxylNPw91XOaq1OKKLwsydMRvcBBxw1K44V54ok MojCtSwxODFs0IYz2eS/HIXQibAlRKQ/kpF1RB/3993FlNIfrZfhhIENNFnjn0kmebQ== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass header.d=linux.dev header.i=@linux.dev header.a=rsa-sha256 header.s=key1 header.b=FSPwdPT5; arc=none smtp.remote-ip=91.218.175.182 Received: from mta0.migadu.com (out-182.mta0.migadu.com [91.218.175.182]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 759F4606A334 for ; Mon, 9 Nov 2026 02:58:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 759F4606A334 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key, unprotected) header.d=linux.dev header.i=@linux.dev header.a=rsa-sha256 header.s=key1 header.b=FSPwdPT5 X-Envelope-To: linux-s390@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=96rAeUWmnzHN6yth5vv/wCTrXAV8exvh1VkI3YdM/T0=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1794193122; v=1; x=1794797922; b=FSPwdPT5dTGic4pY9LBjBaB5dut9cna9HmtiO4CIZPwehWLvelm8KsWiqfsq46ib8/amyH3N S5K02wwnFyCe9vXoO6pP4N5M8gOSfmuS/Top0M1Ygjap+sLL6gVo5nVxLr4c6cS6Wd6jzr68HJy AajJzFBXp/hmjxu2X2Ykgi+I= X-Envelope-To: linux-s390@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id 95288f8eb6e1ae45; Mon, 09 Nov 2026 02:58:42 +0000 X-Mizu-Trace-ID: 95288f8eb6e1ae45 X-Migadu-Flow: FLOW_OUT From: Jiayuan Chen To: netdev@vger.kernel.org Cc: Jiayuan Chen , David Ahern , Ido Schimmel , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Pablo Neira Ayuso , Florian Westphal , Phil Sutter , Nikolay Aleksandrov , Paul Moore , Matthieu Baerts , Mat Martineau , Geliang Tang , Julian Anastasov , Allison Henderson , Marcelo Ricardo Leitner , Xin Long , "D. Wythe" , Dust Li , Sidraya Jayagond , Mahanta Jambigi , Tony Lu , Wen Gu , linux-kernel@vger.kernel.org, netfilter-devel@vger.kernel.org, coreteam@netfilter.org, bridge@lists.linux.dev, linux-security-module@vger.kernel.org, mptcp@lists.linux.dev, lvs-devel@vger.kernel.org, linux-rdma@vger.kernel.org, rds-devel@oss.oracle.com, linux-sctp@vger.kernel.org, linux-s390@vger.kernel.org Subject: [PATCH net-next 08/14] rds: annotate data-races around core rds sysctls Date: Mon, 9 Nov 2026 10:52:07 +0800 Message-ID: <20261109025425.328445-9-jiayuan.chen@linux.dev> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20261109025425.328445-1-jiayuan.chen@linux.dev> References: <20261109025425.328445-1-jiayuan.chen@linux.dev> X-Mailing-List: linux-s390@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Transfer-Encoding: 8bit reconnect_min_delay_ms, reconnect_max_delay_ms, max_unacked_packets, max_unacked_bytes and ping_enable are read without any lock while their sysctl handlers update them with WRITE_ONCE(). Add READ_ONCE() to the readers. Signed-off-by: Jiayuan Chen --- net/rds/recv.c | 2 +- net/rds/send.c | 8 ++++---- net/rds/threads.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/net/rds/recv.c b/net/rds/recv.c index 00ab60f2d9969..daccbfc8cb8a2 100644 --- a/net/rds/recv.c +++ b/net/rds/recv.c @@ -370,7 +370,7 @@ void rds_recv_incoming(struct rds_connection *conn, struct in6_addr *saddr, } cp->cp_next_rx_seq = be64_to_cpu(inc->i_hdr.h_sequence) + 1; - if (rds_sysctl_ping_enable && inc->i_hdr.h_dport == 0) { + if (READ_ONCE(rds_sysctl_ping_enable) && inc->i_hdr.h_dport == 0) { if (inc->i_hdr.h_sport == 0) { rdsdebug("ignore ping with 0 sport from %pI6c\n", saddr); diff --git a/net/rds/send.c b/net/rds/send.c index f38967f65af18..66e75a382bcc7 100644 --- a/net/rds/send.c +++ b/net/rds/send.c @@ -87,8 +87,8 @@ void rds_send_path_reset(struct rds_conn_path *cp) cp->cp_conn->c_map_queued = 0; - cp->cp_unacked_packets = rds_sysctl_max_unacked_packets; - cp->cp_unacked_bytes = rds_sysctl_max_unacked_bytes; + cp->cp_unacked_packets = READ_ONCE(rds_sysctl_max_unacked_packets); + cp->cp_unacked_bytes = READ_ONCE(rds_sysctl_max_unacked_bytes); /* Mark messages as retransmissions, and move them to the send q */ spin_lock_irqsave(&cp->cp_lock, flags); @@ -380,9 +380,9 @@ int rds_send_xmit(struct rds_conn_path *cp) set_bit(RDS_MSG_ACK_REQUIRED, &rm->m_flags); cp->cp_unacked_packets = - rds_sysctl_max_unacked_packets; + READ_ONCE(rds_sysctl_max_unacked_packets); cp->cp_unacked_bytes = - rds_sysctl_max_unacked_bytes; + READ_ONCE(rds_sysctl_max_unacked_bytes); rds_stats_inc(s_send_ack_required); } else { cp->cp_unacked_bytes -= len; diff --git a/net/rds/threads.c b/net/rds/threads.c index 639302bab51ef..115fcff0a5b13 100644 --- a/net/rds/threads.c +++ b/net/rds/threads.c @@ -137,7 +137,7 @@ void rds_queue_reconnect(struct rds_conn_path *cp) set_bit(RDS_RECONNECT_PENDING, &cp->cp_flags); if (cp->cp_reconnect_jiffies == 0) { - cp->cp_reconnect_jiffies = rds_sysctl_reconnect_min_jiffies; + cp->cp_reconnect_jiffies = READ_ONCE(rds_sysctl_reconnect_min_jiffies); rcu_read_lock(); if (!rds_destroy_pending(cp->cp_conn)) queue_delayed_work(cp->cp_wq, &cp->cp_conn_w, 0); @@ -156,7 +156,7 @@ void rds_queue_reconnect(struct rds_conn_path *cp) rcu_read_unlock(); cp->cp_reconnect_jiffies = min(cp->cp_reconnect_jiffies * 2, - rds_sysctl_reconnect_max_jiffies); + READ_ONCE(rds_sysctl_reconnect_max_jiffies)); } void rds_connect_worker(struct work_struct *work) -- 2.43.0