Merge pull request #536 from wigyori/cc-sec
[15.05/openwrt.git] / target / linux / generic / patches-3.18 / 680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index 21199fe..6b02b3c 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -4002,6 +4002,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4006,6 +4006,9 @@ static enum gro_result dev_gro_receive(s
        enum gro_result ret;
        int grow;
  
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        if (!(skb->dev->features & NETIF_F_GRO))
                goto normal;
  
-@@ -5067,6 +5070,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5077,6 +5080,48 @@ static void __netdev_adjacent_dev_unlink
                                           &upper_dev->adj_list.lower);
  }
  
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  static int __netdev_upper_dev_link(struct net_device *dev,
                                   struct net_device *upper_dev, bool master,
                                   void *private)
-@@ -5127,6 +5172,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5137,6 +5182,7 @@ static int __netdev_upper_dev_link(struc
                        goto rollback_lower_mesh;
        }
  
@@ -84,15 +84,15 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
        return 0;
  
-@@ -5244,6 +5290,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5254,6 +5300,7 @@ void netdev_upper_dev_unlink(struct net_
        list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
-               __netdev_adjacent_dev_unlink(dev, i->dev);
+               __netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);
  
 +      netdev_update_addr_mask(dev);
        call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
  }
  EXPORT_SYMBOL(netdev_upper_dev_unlink);
-@@ -5763,6 +5810,7 @@ int dev_set_mac_address(struct net_devic
+@@ -5773,6 +5820,7 @@ int dev_set_mac_address(struct net_devic
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
@@ -113,7 +113,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  #endif
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -597,7 +597,8 @@ struct sk_buff {
+@@ -598,7 +598,8 @@ struct sk_buff {
  #endif
        __u8                    ipvs_property:1;
        __u8                    inner_protocol_type:1;