On Fri, Nov 04, 2022 at 01:51:39AM -0400, Steven Rostedt wrote:
> On Thu, 3 Nov 2022 17:00:20 -0700
> Eric Dumazet <edumazet@xxxxxxxxxx> wrote:
>
> > inet_csk_clear_xmit_timers() can be called multiple times during TCP
> > socket lifetime.
> >
> > (See tcp_disconnect(), which can be followed by another connect() ... and
> > loop)
> >
> > Maybe add a second parameter, or add a new
> > inet_csk_shutdown_xmit_timers() only called from tcp_v4_destroy_sock() ?
> >
>
> I guess.
>
> > >
> > > void inet_csk_delete_keepalive_timer(struct sock *sk)
> > > {
> > > - sk_stop_timer(sk, &sk->sk_timer);
> > > + sk_shutdown_timer(sk, &sk->sk_timer);
> >
> > SO_KEEPALIVE can be called multiple times in a TCP socket lifetime,
> > on/off/on/off/...
> >
> > I suggest leaving sk_stop_timer() here.
> >
> > Eventually inet_csk_clear_xmit_timers( sk, destroy=true) (or
> > inet_csk_shutdown_xmit_timers(())
> > will be called before the socket is destroyed.
>
> OK.
>
> Guenter,
>
> I posted a new series, but did not include this change. If you want to
> test that other series, I would suggest to at least add the first part
> of this patch, otherwise it will trigger. But we want to see if there's
> other locations of issue that we should care about.
>
I'll run a test on the other series without change first. We'll see what
happens. If necessary I'll add [parts of] this patch and re-test, but
before doing that I would like to get a sense for the status of your
series as-is.
Thanks,
Guenter
|