Cong Wang wrote: > From: Cong Wang <cong.w...@bytedance.com> > > We do not have to lock the sock to avoid losing sk_socket, > instead we can purge all the ingress queues when we close > the socket. Sending or receiving packets after orphaning > socket makes no sense. > > We do purge these queues when psock refcnt reaches zero but > here we want to purge them explicitly in sock_map_close(). > There are also some nasty race conditions on testing bit > SK_PSOCK_TX_ENABLED and queuing/canceling the psock work, > we can expand psock->ingress_lock a bit to protect them too. > > As noticed by John, we still have to lock the psock->work, > because the same work item could be running concurrently on > different CPU's. > > Cc: John Fastabend <john.fastab...@gmail.com> > Cc: Daniel Borkmann <dan...@iogearbox.net> > Cc: Jakub Sitnicki <ja...@cloudflare.com> > Cc: Lorenz Bauer <l...@cloudflare.com> > Signed-off-by: Cong Wang <cong.w...@bytedance.com> > ---
Acked-by: John Fastabend <john.fastab...@gmail.com>