diff --git a/include/net/sock.h b/include/net/sock.h index 10668d5e38e9d285b2bc121a1821ee00ee8572c2..643f1c87ab3cafcdef0cca52b2aee4e8545aac0c 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -1468,7 +1468,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;