On Wed, Aug 9, 2023 at 4:56 PM Kuniyuki Iwashima <kuniyu@xxxxxxxxxx> wrote: > > > Things we could do if necessary: > > 1. Reset the flag in inet_csk_clone_lock like we do for SOCK_RCU_FREE > > I think we can't do this as sk_reuseport is inherited to twsk and used > in inet_bind_conflict(). Ok, so what kind of state does reuseport carry in the various states then? TCP_LISTEN: sk_reuseport && sk_reuseport_cb TCP_ESTABLISHED: sk_reuseport && !sk_reuseport_cb TCP_TIME_WAIT: sk_reuseport && !sk_reuseport_cb Where is sk_reuseport_cb cleared? On clone? Or not at all? > > 2. Duplicate the cb check into inet[6]_steal_sock > > or 3. Add sk_fullsock() test ? I guess this would be in addition to the convoluted series of checks I've removed in this patch?