hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/net/core/stream.c
....@@ -32,7 +32,7 @@
3232 struct socket *sock = sk->sk_socket;
3333 struct socket_wq *wq;
3434
35
- if (sk_stream_is_writeable(sk) && sock) {
35
+ if (__sk_stream_is_writeable(sk, 1) && sock) {
3636 clear_bit(SOCK_NOSPACE, &sock->flags);
3737
3838 rcu_read_lock();
....@@ -159,7 +159,8 @@
159159 *timeo_p = current_timeo;
160160 }
161161 out:
162
- remove_wait_queue(sk_sleep(sk), &wait);
162
+ if (!sock_flag(sk, SOCK_DEAD))
163
+ remove_wait_queue(sk_sleep(sk), &wait);
163164 return err;
164165
165166 do_error: