hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/net/netrom/af_netrom.c
....@@ -400,6 +400,11 @@
400400 struct sock *sk = sock->sk;
401401
402402 lock_sock(sk);
403
+ if (sock->state != SS_UNCONNECTED) {
404
+ release_sock(sk);
405
+ return -EINVAL;
406
+ }
407
+
403408 if (sk->sk_state != TCP_LISTEN) {
404409 memset(&nr_sk(sk)->user_addr, 0, AX25_ADDR_LEN);
405410 sk->sk_max_ack_backlog = backlog;
....@@ -655,6 +660,11 @@
655660 goto out_release;
656661 }
657662
663
+ if (sock->state == SS_CONNECTING) {
664
+ err = -EALREADY;
665
+ goto out_release;
666
+ }
667
+
658668 sk->sk_state = TCP_CLOSE;
659669 sock->state = SS_UNCONNECTED;
660670