hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/net/llc/af_llc.c
....@@ -582,7 +582,8 @@
582582
583583 add_wait_queue(sk_sleep(sk), &wait);
584584 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))
586587 break;
587588 rc = -ERESTARTSYS;
588589 if (signal_pending(current))
....@@ -602,7 +603,8 @@
602603
603604 add_wait_queue(sk_sleep(sk), &wait);
604605 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))
606608 break;
607609 if (signal_pending(current) || !timeout)
608610 break;
....@@ -621,7 +623,7 @@
621623 while (1) {
622624 rc = 0;
623625 if (sk_wait_event(sk, &timeout,
624
- (sk->sk_shutdown & RCV_SHUTDOWN) ||
626
+ (READ_ONCE(sk->sk_shutdown) & RCV_SHUTDOWN) ||
625627 (!llc_data_accept_state(llc->state) &&
626628 !llc->remote_busy_flag &&
627629 !llc->p_flag), &wait))