|
@@ -2848,12 +2848,15 @@ EXPORT_SYMBOL(skb_queue_purge);
|
|
|
*/
|
|
|
void skb_rbtree_purge(struct rb_root *root)
|
|
|
{
|
|
|
- struct sk_buff *skb, *next;
|
|
|
+ struct rb_node *p = rb_first(root);
|
|
|
|
|
|
- rbtree_postorder_for_each_entry_safe(skb, next, root, rbnode)
|
|
|
- kfree_skb(skb);
|
|
|
+ while (p) {
|
|
|
+ struct sk_buff *skb = rb_entry(p, struct sk_buff, rbnode);
|
|
|
|
|
|
- *root = RB_ROOT;
|
|
|
+ p = rb_next(p);
|
|
|
+ rb_erase(&skb->rbnode, root);
|
|
|
+ kfree_skb(skb);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|