mirror of
https://github.com/torvalds/linux.git
synced 2026-06-06 21:45:45 +02:00
tcp: Fix a data-race around sysctl_tcp_stdurg.
[ Upstream commit4e08ed41cb] While reading sysctl_tcp_stdurg, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes:1da177e4c3("Linux-2.6.12-rc2") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
daa8b5b869
commit
03bb3892f3
|
|
@ -5492,7 +5492,7 @@ static void tcp_check_urg(struct sock *sk, const struct tcphdr *th)
|
||||||
struct tcp_sock *tp = tcp_sk(sk);
|
struct tcp_sock *tp = tcp_sk(sk);
|
||||||
u32 ptr = ntohs(th->urg_ptr);
|
u32 ptr = ntohs(th->urg_ptr);
|
||||||
|
|
||||||
if (ptr && !sock_net(sk)->ipv4.sysctl_tcp_stdurg)
|
if (ptr && !READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_stdurg))
|
||||||
ptr--;
|
ptr--;
|
||||||
ptr += ntohl(th->seq);
|
ptr += ntohl(th->seq);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user