[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALx6S35aDVb+EfAY=wNkZbf0XsDp+MB2mWERXoyaS67raGFbBA@mail.gmail.com>
Date: Wed, 2 Dec 2015 09:09:54 -0800
From: Tom Herbert <tom@...bertland.com>
To: Lorenzo Colitti <lorenzo@...gle.com>
Cc: Linux Kernel Network Developers <netdev@...r.kernel.org>,
"David S. Miller" <davem@...emloft.net>,
Hannes Frederic Sowa <hannes@...essinduktion.org>,
Eric Dumazet <eric.dumazet@...il.com>,
Erik Kline <ek@...gle.com>,
Maciej Żenczykowski <zenczykowski@...il.com>
Subject: Re: Add a SOCK_DESTROY operation to close sockets from userspace
On Wed, Dec 2, 2015 at 8:30 AM, Lorenzo Colitti <lorenzo@...gle.com> wrote:
> On Thu, Dec 3, 2015 at 1:12 AM, Tom Herbert <tom@...bertland.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.
Thanks, and that's a good description for the commit log :-)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists