.. | .. |
---|
582 | 582 | |
---|
583 | 583 | add_wait_queue(sk_sleep(sk), &wait); |
---|
584 | 584 | while (1) { |
---|
585 | | - if (sk_wait_event(sk, &timeout, sk->sk_state == TCP_CLOSE, &wait)) |
---|
| 585 | + if (sk_wait_event(sk, &timeout, |
---|
| 586 | + READ_ONCE(sk->sk_state) == TCP_CLOSE, &wait)) |
---|
586 | 587 | break; |
---|
587 | 588 | rc = -ERESTARTSYS; |
---|
588 | 589 | if (signal_pending(current)) |
---|
.. | .. |
---|
602 | 603 | |
---|
603 | 604 | add_wait_queue(sk_sleep(sk), &wait); |
---|
604 | 605 | while (1) { |
---|
605 | | - if (sk_wait_event(sk, &timeout, sk->sk_state != TCP_SYN_SENT, &wait)) |
---|
| 606 | + if (sk_wait_event(sk, &timeout, |
---|
| 607 | + READ_ONCE(sk->sk_state) != TCP_SYN_SENT, &wait)) |
---|
606 | 608 | break; |
---|
607 | 609 | if (signal_pending(current) || !timeout) |
---|
608 | 610 | break; |
---|
.. | .. |
---|
621 | 623 | while (1) { |
---|
622 | 624 | rc = 0; |
---|
623 | 625 | if (sk_wait_event(sk, &timeout, |
---|
624 | | - (sk->sk_shutdown & RCV_SHUTDOWN) || |
---|
| 626 | + (READ_ONCE(sk->sk_shutdown) & RCV_SHUTDOWN) || |
---|
625 | 627 | (!llc_data_accept_state(llc->state) && |
---|
626 | 628 | !llc->remote_busy_flag && |
---|
627 | 629 | !llc->p_flag), &wait)) |
---|