mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 10:57:46 +00: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
d316488be1
commit
d79e98dab5
1 changed files with 1 additions and 1 deletions
|
@ -5576,7 +5576,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 a new issue