aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 4bc19a164ba5..820bac239738 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3035,6 +3035,7 @@ struct sk_buff *validate_xmit_skb_list(struct sk_buff *skb, struct net_device *d
3035 } 3035 }
3036 return head; 3036 return head;
3037} 3037}
3038EXPORT_SYMBOL_GPL(validate_xmit_skb_list);
3038 3039
3039static void qdisc_pkt_len_init(struct sk_buff *skb) 3040static void qdisc_pkt_len_init(struct sk_buff *skb)
3040{ 3041{
@@ -4511,6 +4512,7 @@ static enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff
4511 NAPI_GRO_CB(skb)->flush = 0; 4512 NAPI_GRO_CB(skb)->flush = 0;
4512 NAPI_GRO_CB(skb)->free = 0; 4513 NAPI_GRO_CB(skb)->free = 0;
4513 NAPI_GRO_CB(skb)->encap_mark = 0; 4514 NAPI_GRO_CB(skb)->encap_mark = 0;
4515 NAPI_GRO_CB(skb)->recursion_counter = 0;
4514 NAPI_GRO_CB(skb)->is_fou = 0; 4516 NAPI_GRO_CB(skb)->is_fou = 0;
4515 NAPI_GRO_CB(skb)->is_atomic = 1; 4517 NAPI_GRO_CB(skb)->is_atomic = 1;
4516 NAPI_GRO_CB(skb)->gro_remcsum_start = 0; 4518 NAPI_GRO_CB(skb)->gro_remcsum_start = 0;
@@ -5511,10 +5513,14 @@ struct net_device *netdev_all_lower_get_next_rcu(struct net_device *dev,
5511{ 5513{
5512 struct netdev_adjacent *lower; 5514 struct netdev_adjacent *lower;
5513 5515
5514 lower = list_first_or_null_rcu(&dev->all_adj_list.lower, 5516 lower = list_entry_rcu((*iter)->next, struct netdev_adjacent, list);
5515 struct netdev_adjacent, list); 5517
5518 if (&lower->list == &dev->all_adj_list.lower)
5519 return NULL;
5520
5521 *iter = &lower->list;
5516 5522
5517 return lower ? lower->dev : NULL; 5523 return lower->dev;
5518} 5524}
5519EXPORT_SYMBOL(netdev_all_lower_get_next_rcu); 5525EXPORT_SYMBOL(netdev_all_lower_get_next_rcu);
5520 5526