tcp: Fix a data-race around sysctl_tcp_rfc1337.
While reading sysctl_tcp_rfc1337, 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>
This commit is contained in:
Родитель
4e08ed41cb
Коммит
0b484c9191
|
@ -173,7 +173,7 @@ tcp_timewait_state_process(struct inet_timewait_sock *tw, struct sk_buff *skb,
|
|||
* Oh well... nobody has a sufficient solution to this
|
||||
* protocol bug yet.
|
||||
*/
|
||||
if (twsk_net(tw)->ipv4.sysctl_tcp_rfc1337 == 0) {
|
||||
if (!READ_ONCE(twsk_net(tw)->ipv4.sysctl_tcp_rfc1337)) {
|
||||
kill:
|
||||
inet_twsk_deschedule_put(tw);
|
||||
return TCP_TW_SUCCESS;
|
||||
|
|
Загрузка…
Ссылка в новой задаче