Cong Wang wrote: > From: Cong Wang <[email protected]> > > 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 <[email protected]> > Cc: Daniel Borkmann <[email protected]> > Cc: Jakub Sitnicki <[email protected]> > Cc: Lorenz Bauer <[email protected]> > Signed-off-by: Cong Wang <[email protected]> > ---
Acked-by: John Fastabend <[email protected]>
