On Sun, Nov 25, 2018 at 10:29 AM David Miller <davem@xxxxxxxxxxxxx> wrote: > > From: Eric Dumazet <edumazet@xxxxxxxxxx> > Date: Sun, 25 Nov 2018 08:26:23 -0800 > > > I do not see how one can effectively use skb_insert() without holding > > some kind of lock. Otherwise other cpus could have changed the list > > right before we have a chance of acquiring list->lock. > > > > Only existing user is in drivers/infiniband/hw/nes/nes_mgt.c and this > > one probably meant to use __skb_insert() since it appears nesqp->pau_list > > is protected by nesqp->pau_lock. This looks like nesqp->pau_lock > > could be removed, since nesqp->pau_list.lock could be used instead. > > > > Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> > > Good find. > > Indeed, any of the queue SKB manipulation functions that take two SKBs > as an argument are suspect in this manner. > > Applied, thanks Eric. Oh well, this does not build. Since you have not pushed your tree yet, maybe we can replace this with a version that actually compiles. Please let me know if a relative patch or a v2 is needed, thanks.