lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAL+tcoB-12pUS0adK8M_=C97aXewYYmDA6rJKLXvAXEHvEsWjA@mail.gmail.com>
Date: Wed, 31 Jul 2024 08:09:42 +0800
From: Jason Xing <kerneljasonxing@...il.com>
To: Kuniyuki Iwashima <kuniyu@...zon.com>
Cc: davem@...emloft.net, dsahern@...nel.org, edumazet@...gle.com, 
	kernelxing@...cent.com, kuba@...nel.org, netdev@...r.kernel.org, 
	pabeni@...hat.com
Subject: Re: [PATCH net-next 5/6] tcp: rstreason: introduce
 SK_RST_REASON_TCP_TIMEOUT for active reset

On Wed, Jul 31, 2024 at 4:00 AM Kuniyuki Iwashima <kuniyu@...zon.com> wrote:
>
> From: Jason Xing <kerneljasonxing@...il.com>
> Date: Tue, 30 Jul 2024 21:35:12 +0800
> > From: Jason Xing <kernelxing@...cent.com>
> >
> > Only when user sets TCP_USER_TIMEOUT option and there is no left
> > chance to proceed, we will send an RST to the other side.
> >
> > Signed-off-by: Jason Xing <kernelxing@...cent.com>
> > ---
> >  include/net/rstreason.h | 7 +++++++
> >  net/ipv4/tcp_timer.c    | 2 +-
> >  2 files changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/net/rstreason.h b/include/net/rstreason.h
> > index fecaa57f1634..ca10aaebd768 100644
> > --- a/include/net/rstreason.h
> > +++ b/include/net/rstreason.h
> > @@ -21,6 +21,7 @@
> >       FN(TCP_ABORT_ON_LINGER)         \
> >       FN(TCP_ABORT_ON_MEMORY)         \
> >       FN(TCP_STATE)                   \
> > +     FN(TCP_TIMEOUT)                 \
> >       FN(MPTCP_RST_EUNSPEC)           \
> >       FN(MPTCP_RST_EMPTCP)            \
> >       FN(MPTCP_RST_ERESOURCE)         \
> > @@ -108,6 +109,12 @@ enum sk_rst_reason {
> >        * Please see RFC 793 for all possible reset conditions
> >        */
> >       SK_RST_REASON_TCP_STATE,
> > +     /**
> > +      * @SK_RST_REASON_TCP_TIMEOUT: time to timeout
> > +      * When user sets TCP_USER_TIMEOUT options and run out of all the
> > +      * chance, we have to reset the connection
> > +      */
> > +     SK_RST_REASON_TCP_TIMEOUT,
>
> nit: Maybe SK_RST_REASON_TCP_USER_TIMEOUT ?
>
> It's more user-friendly.

Oh, after you reminding me, I double-check this part and find this
changelog is not that right because there is the other case where user
doesn't set TCP_USER_TIMEOUT option:
"user_timeout == 0 && icsk->icsk_probes_out >= keepalive_probes(tp)"
in tcp_keepalive_timer().

I will correct my comment as well.

I think I can keep SK_RST_REASON_TCP_STATE instead of
SK_RST_REASON_TCP_USER_TIMEOUT to show "we already try as many times
as we can whether TCP_USER_TIMEOUT option is set or not, but we have
to reset".

Thanks,
Jason

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ