mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
sctp: Use skb_queue_walk_safe() and skb_queue_split_tail_init().
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1d4a31dde9
commit
3d09274cc9
@ -406,10 +406,7 @@ struct sctp_association *sctp_id2assoc(struct sock *sk, sctp_assoc_t id);
|
||||
|
||||
/* A macro to walk a list of skbs. */
|
||||
#define sctp_skb_for_each(pos, head, tmp) \
|
||||
for (pos = (head)->next;\
|
||||
tmp = (pos)->next, pos != ((struct sk_buff *)(head));\
|
||||
pos = tmp)
|
||||
|
||||
skb_queue_walk_safe(head, pos, tmp)
|
||||
|
||||
/* A helper to append an entire skb list (list) to another (head). */
|
||||
static inline void sctp_skb_list_tail(struct sk_buff_head *list,
|
||||
@ -420,10 +417,7 @@ static inline void sctp_skb_list_tail(struct sk_buff_head *list,
|
||||
sctp_spin_lock_irqsave(&head->lock, flags);
|
||||
sctp_spin_lock(&list->lock);
|
||||
|
||||
list_splice((struct list_head *)list, (struct list_head *)head->prev);
|
||||
|
||||
head->qlen += list->qlen;
|
||||
list->qlen = 0;
|
||||
skb_queue_splice_tail_init(list, head);
|
||||
|
||||
sctp_spin_unlock(&list->lock);
|
||||
sctp_spin_unlock_irqrestore(&head->lock, flags);
|
||||
|
Loading…
Reference in New Issue
Block a user