[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKD1Yr1vsdrxb6YvOB3bbxuLso+hniexWDciOeWvv1fnyfYP1w@mail.gmail.com>
Date: Thu, 3 Dec 2015 01:30:48 +0900
From: Lorenzo Colitti <lorenzo@...gle.com>
To: Tom Herbert <tom@...bertland.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 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.
--
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