diff --git a/net/ipv6/ip6_input.c b/net/ipv6/ip6_input.c index fa014d5f17321eb6ad1ef15583ed12798f35f118..d432d0011c160f41aec09640e95179dd7b364cfc 100644 --- a/net/ipv6/ip6_input.c +++ b/net/ipv6/ip6_input.c @@ -80,8 +80,10 @@ static void ip6_sublist_rcv_finish(struct list_head *head) { struct sk_buff *skb, *next; - list_for_each_entry_safe(skb, next, head, list) + list_for_each_entry_safe(skb, next, head, list) { + skb_list_del_init(skb); dst_input(skb); + } } static void ip6_list_rcv_finish(struct net *net, struct sock *sk,