Skip to content

Commit

Permalink
aoe: Fix OOPS after SKB queue changes.
Browse files Browse the repository at this point in the history
Reported by Thomas Graf.

If we don't unlink the SKB from the queue when we send it
out in aoenet_xmit(), dev_hard_start_xmit() will see skb->next
as non-NULL and interpret this to mean the SKB is part of a
GSO segment list.

Add __skb_unlink() call to fix that.

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Sep 24, 2008
1 parent e5d2304 commit d877984
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/block/aoe/aoenet.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,10 @@ aoenet_xmit(struct sk_buff_head *queue)
{
struct sk_buff *skb, *tmp;

skb_queue_walk_safe(queue, skb, tmp)
skb_queue_walk_safe(queue, skb, tmp) {
__skb_unlink(skb, queue);
dev_queue_xmit(skb);
}
}

/*
Expand Down

0 comments on commit d877984

Please sign in to comment.