]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netinet/mptcp.c
xnu-6153.61.1.tar.gz
[apple/xnu.git] / bsd / netinet / mptcp.c
index 25a51db92a2ce203d139a8800fe813977a1b244e..3b3d83765e9adfd39355c5b3a83cd1ac18e2fa82 100644 (file)
@@ -646,9 +646,14 @@ mptcp_output(struct mptses *mpte)
        int error = 0;
 
        mp_so = mptetoso(mpte);
-       socket_lock_assert_owned(mp_so);
        mp_tp = mpte->mpte_mptcb;
 
+       socket_lock_assert_owned(mp_so);
+
+       if (mp_so->so_flags & SOF_DEFUNCT) {
+               return 0;
+       }
+
        VERIFY(!(mpte->mpte_mppcb->mpp_flags & MPP_WUPCALL));
        mpte->mpte_mppcb->mpp_flags |= MPP_WUPCALL;