All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kuniyuki Iwashima <kuniyu@amazon.com>
To: "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Luis Chamberlain <mcgrof@kernel.org>,
	Kees Cook <keescook@chromium.org>,
	Iurii Zaikin <yzaikin@google.com>
Cc: Kuniyuki Iwashima <kuniyu@amazon.com>,
	Kuniyuki Iwashima <kuni1840@gmail.com>, <netdev@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH v2 net 09/12] net: Fix data-races around sysctl_mem.
Date: Wed, 6 Jul 2022 16:40:00 -0700	[thread overview]
Message-ID: <20220706234003.66760-10-kuniyu@amazon.com> (raw)
In-Reply-To: <20220706234003.66760-1-kuniyu@amazon.com>

While reading .sysctl_mem, it can be changed concurrently.
So, we need to add READ_ONCE() to avoid data-races.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
---
 include/net/sock.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/net/sock.h b/include/net/sock.h
index 72ca97ccb460..9fa54762e077 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -1529,7 +1529,7 @@ void __sk_mem_reclaim(struct sock *sk, int amount);
 /* sysctl_mem values are in pages, we convert them in SK_MEM_QUANTUM units */
 static inline long sk_prot_mem_limits(const struct sock *sk, int index)
 {
-	long val = sk->sk_prot->sysctl_mem[index];
+	long val = READ_ONCE(sk->sk_prot->sysctl_mem[index]);
 
 #if PAGE_SIZE > SK_MEM_QUANTUM
 	val <<= PAGE_SHIFT - SK_MEM_QUANTUM_SHIFT;
-- 
2.30.2


  parent reply	other threads:[~2022-07-06 23:43 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-06 23:39 [PATCH v2 net 00/12] sysctl: Fix data-races around ipv4_table Kuniyuki Iwashima
2022-07-06 23:39 ` [PATCH v2 net 01/12] sysctl: Fix data races in proc_dointvec() Kuniyuki Iwashima
2022-07-06 23:39 ` [PATCH v2 net 02/12] sysctl: Fix data races in proc_douintvec() Kuniyuki Iwashima
2022-07-06 23:39 ` [PATCH v2 net 03/12] sysctl: Fix data races in proc_dointvec_minmax() Kuniyuki Iwashima
2022-07-06 23:39 ` [PATCH v2 net 04/12] sysctl: Fix data races in proc_douintvec_minmax() Kuniyuki Iwashima
2022-07-06 23:39 ` [PATCH v2 net 05/12] sysctl: Fix data races in proc_doulongvec_minmax() Kuniyuki Iwashima
2022-07-06 23:39 ` [PATCH v2 net 06/12] sysctl: Fix data races in proc_dointvec_jiffies() Kuniyuki Iwashima
2022-07-06 23:39 ` [PATCH v2 net 07/12] tcp: Fix a data-race around sysctl_tcp_max_orphans Kuniyuki Iwashima
2022-07-06 23:39 ` [PATCH v2 net 08/12] inetpeer: Fix data-races around sysctl Kuniyuki Iwashima
2022-07-06 23:40 ` Kuniyuki Iwashima [this message]
2022-07-09  9:11   ` [PATCH v2 net 09/12] net: Fix data-races around sysctl_mem Matthieu Baerts
2022-07-06 23:40 ` [PATCH v2 net 10/12] cipso: Fix data-races around sysctl Kuniyuki Iwashima
2022-07-07 19:15   ` Paul Moore
2022-07-07 22:15     ` Kuniyuki Iwashima
2022-07-08  0:24       ` Jakub Kicinski
2022-07-08  0:44         ` Kuniyuki Iwashima
2022-07-06 23:40 ` [PATCH v2 net 11/12] icmp: " Kuniyuki Iwashima
2022-07-06 23:40 ` [PATCH v2 net 12/12] ipv4: Fix a data-race around sysctl_fib_sync_mem Kuniyuki Iwashima
2022-07-08 11:50 ` [PATCH v2 net 00/12] sysctl: Fix data-races around ipv4_table patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220706234003.66760-10-kuniyu@amazon.com \
    --to=kuniyu@amazon.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=keescook@chromium.org \
    --cc=kuba@kernel.org \
    --cc=kuni1840@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=yzaikin@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.