On Thu, Nov 19, 2015, at 23:33, Lorenzo Colitti wrote:
> On Fri, Nov 20, 2015 at 2:38 AM, Tom Herbert <t...@herbertland.com> wrote:
> >> I actually don't have an issue with killing from user space that much. I
> >> still recommend (and actually have started to look at it today) to add a
> >> new substate for TCP TIMEWAIT and don't have any issue if we block the
> >> socket for 60 seconds and send RSTs to all incoming data. This way we
> >> can solve the problem Florian indicated as well as this problem. Users
> >> can happily kill TCP connections then.
> >>
> > Neither do I have a problem with killing connections from userspace,
> > but we do have to acknowledge that this is a powerful and invasive
> > mechanism. I suggest:
> >
> > 1) We need transparency. If a third party kills a TCP connection then
> > the application should be informed of specifically that. This seems
> > easy enough to just pick an appropriate error number as I suggested.
> 
> I'm not wedded to ETIMEDOUT. If it means we can get this code
> upstream, then we can likely do the userspace work that is needed to
> ensure that applications respond correctly. Mot
> 
> > 2) We need constraints. This feature seems to be specific to a very
> > narrow use case. It is not at all clear to me if there are any
> > legitimate uses cases beyond Android, enabling this by default in the
> > stack creates a non-zero amount of risk and liability for abuse. It
> > seems like this should be an opt-in sort of feature, with a kernel
> > CONFIG or maybe opt-in per socket.
> 
> I am perfectly happy for this to be behind a config option.

Why? If it is an administrator only option it does not make sense to
hide it behind a sysctl. Applications using this interface could also
easily change the sysctl because they probably have the same privileges.
A Kconfig option seems to be not useful to me either.

> I do think this kernel functionality is useful in general, and as a
> linux-on-laptop user I wish it was available to NetworkManager as
> well, because I use Linux as well, but I think it will work for
> Android if this requires a per-socket opt in setsockopt. For other
> reasons we pipe all connected sockets through a userspace daemon
> anyway. (But please don't tell me that that daemon should keep state
> on *all* connected sockets it ever sees :-))

Exactly!

--
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

Reply via email to