[PPPOL2TP]: Fix SMP issues in skb reorder queue handling
commite653181dd6b3ad38ce14904351b03a5388f4b0f7
authorJames Chapman <jchapman@katalix.com>
Thu, 6 Mar 2008 02:40:01 +0000 (5 18:40 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 6 Mar 2008 02:40:01 +0000 (5 18:40 -0800)
tree36703dfc6206863464a162f0a4a29a5901314e44
parentcf3752e2d203bbbfc88d29e362e6938cef4339b3
[PPPOL2TP]: Fix SMP issues in skb reorder queue handling

When walking a session's packet reorder queue, use
skb_queue_walk_safe() since the list could be modified inside the
loop.

Rearrange the unlinking skbs from the reorder queue such that it is
done while the queue lock is held in pppol2tp_recv_dequeue() when
walking the skb list.

A version of this patch was suggested by Jarek Poplawski.

Signed-off-by: James Chapman <jchapman@katalix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/pppol2tp.c