Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46f8914e authored by James Chapman's avatar James Chapman Committed by David S. Miller
Browse files

[SKB]: Introduce skb_queue_walk_safe()



This patch provides a method for walking skb lists while inserting or
removing skbs from the list.

Signed-off-by: default avatarJames Chapman <jchapman@katalix.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 04b090d5
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1471,6 +1471,11 @@ static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)
		     prefetch(skb->next), (skb != (struct sk_buff *)(queue));	\
		     skb = skb->next)

#define skb_queue_walk_safe(queue, skb, tmp)					\
		for (skb = (queue)->next, tmp = skb->next;			\
		     skb != (struct sk_buff *)(queue);				\
		     skb = tmp, tmp = skb->next)

#define skb_queue_reverse_walk(queue, skb) \
		for (skb = (queue)->prev;					\
		     prefetch(skb->prev), (skb != (struct sk_buff *)(queue));	\