2018-02-19 1:40 GMT+03:00 Hauke Mehrtens <ha...@hauke-m.de>: > On 02/18/2018 11:21 PM, Andrey Jr. Melnikov wrote: >> Fix this patch before release. Or drop it if no one has seen this damage and >> does not complain. > > Hi Andrey, > > What is the problem with this patch? It's bkoren.
code from 4.4 kernel: .... @@ -5497,6 +5542,7 @@ static int __netdev_upper_dev_link(struc goto rollback_lower_mesh; } + netdev_update_addr_mask(dev); call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); return 0; @@ -5623,6 +5669,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, i->ref_nr); + netdev_update_addr_mask(dev); call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } @@ -6163,6 +6210,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; + netdev_update_addr_mask(dev); call_netdevice_notifiers(NETDEV_CHANGEADDR, dev); add_device_randomness(dev->dev_addr, dev->addr_len); return 0; ... same place from 4.14/4.9 patch: ... @@ -6342,6 +6387,8 @@ void netdev_upper_dev_unlink(struct net_ __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); + netdev_update_addr_mask(dev); + netdev_update_addr_mask(dev); call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } @@ -6912,6 +6959,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; + netdev_update_addr_mask(dev); call_netdevice_notifiers(NETDEV_CHANGEADDR, dev); add_device_randomness(dev->dev_addr, dev->addr_len); return 0; ... Compare netdev_update_addr_mask(..) in first chunk. >> >>> Hauke Mehrtens <ha...@hauke-m.de> wrote: >>>> This modifies the patches in a way that they will apply on top of kernel >>>> 4.14 and also make them build with the x86 target. The configuration >>>> which was copied from kernel 4.9 before is also modified in this patch. >> >>> [....] >> >>>> diff --git >>>> a/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch >>>> >>>> b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch >>>> index ad0fb5bdc5..4467975b92 100644 >>>> --- >>>> a/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch >>>> +++ >>>> b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch >>>> @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <n...@nbd.name> >>> [...] >> >>>> -@@ -6009,6 +6054,8 @@ 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, i->ref_nr); >>>> +@@ -6341,6 +6386,8 @@ void netdev_upper_dev_unlink(struct net_ >>>> + >>>> + __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); >>>> >>>> + netdev_update_addr_mask(dev); >>>> + netdev_update_addr_mask(dev); >>>> call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, >>>> &changeupper_info.info); >>>> } >> >>> Patch broken on rebase. In 4.4 - netdev_update_addr_mask(dev); present three >>> times and called before call_netdevice_notifiers_info(...). Now it called >>> twice in one place. >> >>> [...] > _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev