patch-1.3.73 linux/include/linux/skbuff.h

Next file: linux/include/linux/sysctl.h
Previous file: linux/include/linux/sched.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.72/linux/include/linux/skbuff.h linux/include/linux/skbuff.h
@@ -303,7 +303,8 @@
  *	Insert a packet before another one in a list.
  */
 
-extern __inline__ void __skb_insert(struct sk_buff *next, struct sk_buff *newsk)
+extern __inline__ void __skb_insert(struct sk_buff *next, struct sk_buff *newsk,
+	struct sk_buff_head * list)
 {
 	struct sk_buff * prev = next->prev;
 
@@ -311,8 +312,8 @@
 	newsk->prev = prev;
 	next->prev = newsk;
 	prev->next = newsk;
-	newsk->list = next->list;
-	newsk->list->qlen++;
+	newsk->list = list;
+	list->qlen++;
 }
 
 extern __inline__ void skb_insert(struct sk_buff *old, struct sk_buff *newsk)
@@ -321,7 +322,7 @@
 
 	save_flags(flags);
 	cli();
-	__skb_insert(old, newsk);
+	__skb_insert(old, newsk, old->list);
 	restore_flags(flags);
 }
 
@@ -329,7 +330,8 @@
  *	Place a packet after a given packet in a list.
  */
 
-extern __inline__ void __skb_append(struct sk_buff *prev, struct sk_buff *newsk)
+extern __inline__ void __skb_append(struct sk_buff *prev, struct sk_buff *newsk,
+	struct sk_buff_head * list)
 {
 	struct sk_buff * next = prev->next;
 
@@ -337,8 +339,8 @@
 	newsk->prev = prev;
 	next->prev = newsk;
 	prev->next = newsk;
-	newsk->list = prev->list;
-	newsk->list->qlen++;
+	newsk->list = list;
+	list->qlen++;
 }
 
 extern __inline__ void skb_append(struct sk_buff *old, struct sk_buff *newsk)
@@ -347,7 +349,7 @@
 
 	save_flags(flags);
 	cli();
-	__skb_append(old, newsk);
+	__skb_append(old, newsk, old->list);
 	restore_flags(flags);
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this