On Thu, Dec 3, 2015 at 1:12 AM, Tom Herbert <t...@herbertland.com> wrote: > The in kernel caller would already have a pointer to the socket so the > call would just be sk->sk_prot->destroy(sk). That call should make its > way down to same backend function in TCP that the diag path would use. > We need this in the kernel for the same reasons you want this in > userspace, if a third party hits an unrecoverable error on the socket > it needs to signal this condition to the owner of the socket but can't > actually close the socket (useful to RDS, KCM, probably > TLS-in-kernel).
Oh, I see, yes. You're thinking of a case where multiple protocols support this destroy operation. An in-kernel caller has a pointer to a sk that it wants to unwedge, but doesn't need to know which destroy function to use for which protocol, it just does "if (sk->sk_prot->destroy != NULL) sk->sk_prot_destroy(sk)". I think that should be a trivial change on top of what I have. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html